天天看點

實驗四

北京電子科技學院(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 指令來将子產品解除安裝。