第六章 心得體會

2022-09-13 04:36:13 字數 1942 閱讀 5060

通過第六章的學習,使自己對linux驅動程式的理解更加深刻,通過乙個簡單的單詞統計驅動程式,使自己學到了很多。

學到的知識:

一、編寫linux驅動程式的步驟

第1步:建立linux驅動骨架

第2步:註冊和登出裝置檔案

misc_register 建立裝置檔案

misc_deregister 移除裝置檔案

通過module_authop、module_license、module_alias、module_description等巨集指定與驅動相關的資訊。

第4步:指定**函式

linux系統呼叫相應驅動程式的**函式。

第5步:編寫業務邏輯

第6步:編寫makefile檔案

linux核心源**的編譯規則是通過makefile檔案定義的。

第7步:編譯linux驅動程式

第8步:安裝和解除安裝linux驅動

二、統計單詞個數

第一步:編寫linux驅動程式前的準備工作

# mkdir -p /root/drivers/ch06/word_count

# cd /root/drovers/ch06/word_count

# echo '' >word_count.c

# echo 'obj-m := word_count.o' > makefile

第二步:編寫linux驅動程式的骨架

骨架部分主要是linux驅動的初始化和退出函式。

模組描述:使用module_description巨集指定。

模組別名:使用module_alias巨集指定。

模組協議:使用module_license巨集指定。

協議包括:開源協議、gpl協議、lgpl協議、bsd協議、apache licence 2.0協議、mit協議。

第四步:註冊和登出裝置檔案

extern int misc_register(struct miscdevice *misc);

extern int misc_dergister(struct miscdevice *misc);

第五步:指定**函式

新增word_count_read和word_count_write

第六步:實現統計單詞數的演算法

第七步:編譯、安裝、解除安裝linux驅動程式

檢視日誌輸出資訊和驅動模組資訊

# dmesg |tail -n 1

#modinfo word_count.ko

檢測驅動模組的依賴關係

# dempod  /root/drivers/ch06/word_count/word_count.ko

裝載linux驅動

# modprobe word_count

三、使用多種方法測試linux驅動

1、使用ubuntu linux測試linux驅動

2、在android模擬器上通過原生c程式測試linux驅動

3、使用android ndk測試linux驅動

4、使用j**a**直接操作裝置檔案來測試linux驅動

5、使用s3c6410開發板測試linux驅動

6、將驅動編譯進linux核心進行驅動

四、使用eclipse開發和測試linux驅動程式

1、在eclipse中開發linux驅動程式

第一步:建立c工程

第三步:設定include路徑

第四步:編譯linux驅動

2、在eclipse中測試linux驅動

第一步:匯入test_word_count.c檔案

第二步:設定include路徑

第三步:建立target

第四步:build工程

第五步:執行測試程式

第六周助教心得體會

本週為我參加助教工作的第六周。本週同學們要開始第一次團隊作業 已提交6人 本次團隊作業鏈結 飛機大戰 兔窩保衛戰 排課軟體維護 二進位制遊戲 輔導員助手 軟體工程課程官網 教師個人題庫管理系統 家庭賬本 北軟畢設管理系統 貪吃蛇遊戲 給出團隊選題 解釋選題原因 提出非命題下,團隊想開發的軟體 本次暫...

pandas第六章心得

首先這次學習的是pandas的缺失資料這一部分,下面來談談我的收穫 缺失觀測及其型別,知道基礎的檢視方法,包括head 和tail 會用isna和notna方法來觀測缺失值,知道了對series和dataframe使用都會返回布林列表,知道怎麼檢視缺失值的所以的行和列 還知道了三種缺失符號,分別是n...

mysql第六章 第六章 mysql日誌

第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...