通過第六章的學習,使自己對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...