北京電子科技學院(BESTI)
實 驗 報 告
課程:資訊安全設計系統基礎 班級:1353
姓名:王維臻、武西垚
學号:20135336、20135332
成績: 指導教師: 婁嘉鵬 實驗日期:2015.11.10
實驗密級: 預習程度: 實驗時間:15:30-18:00
儀器組次:36 必修/選修:必修 實驗序号:1
實驗名稱:外設驅動程式設計
實驗目的與要求:學習在 LINUX 下進行驅動設計的原理,掌握使用子產品方式進行驅動開發調試的過程 。
實驗儀器:
名稱 型号 數量
LENOVO 1
ARM開發闆 1
一、實驗步驟
1、閱讀和了解源代碼
進入/arm2410cl/exp/drivers/01_demo,使用vi 編輯器或其他編輯器閱讀了解源代碼。
2、編譯驅動子產品及測試程式
Makefile 中有兩種編譯方法,可以在本機上使用gcc 也可以使用交叉編
譯器進行編譯,交叉編譯器進行編譯的結果。
如果編譯的時候出現問題,可能是在/usr/src 下沒有建立一個linux 連接配接,可以使用下面的指令:
[root@zxt 01_demo]# cd /usr/src/
[root@zxt src]# ln -sf linux-2.4.20-8 linux
[root@zxt src]# ls
debug linux linux-2.4 linux-2.4.20-8 redhat
3、遇到的問題及解決方法
問題:在本次實驗中,當實驗進行當編譯那一步時總是出錯,無法顯現出指導書上那樣正确的情況。
解決方法:在實驗中,編譯我們使用了make的方法。我們錯誤認為使用交叉編譯,但是應該用GCC編譯,補上相關語句,修改MAKEFILE即可成功。
4、測試驅動程式
如果使用 gcc 編譯的話,需要通過下面的指令來建立裝置節點,如果使用交叉編譯器的話,不需要建立裝置節點。
#mknod /dev/demo c 254 0
首先要插入驅動子產品demo.o,然後可以用lsmod 指令來檢視子產品是否已經被插入,在不使用該子產品的時候還可以用rmmod 指令來将子產品解除安裝。