學號20145332 《資訊保安系統設計基礎》實驗四 驅動程式設計

20145332盧鑫發表於2016-11-13

實驗目的

學習在 LINUX 下進行驅動設計的原理。
掌握使用模組方式進行驅動開發除錯的過程

實驗內容

在PC機上編寫簡單的虛擬硬體驅動程式並進行除錯,實驗驅動的各個介面函式的實現, 分析並理解驅動與應用程式的互動過程。

連線arm開發板

將 arm 開發板電源線接好,保持開發板開關處於閉合狀態。再分別將串列埠線、並口線和網線與 pc 機連線好。

建立超級終端

執行WindowsXP中:開始→所有程式→附件→通訊→超級終端(HyperTerminal)。 
新建一個通訊終端。要求輸入區號、電話號碼等資訊請隨意輸入,為所建超級終端取名為 arm,隨意為其選一個圖示。
在屬性對話方塊中,將波特率設為 115200,資料位設為 8,無奇偶校驗,停止位為 1,無資料流控制。將其另存為在桌面。

開啟超級終端

開啟超級終端,開啟 arm 機電源開關。等待一分鐘,arm 機的資訊會顯示在超級終端的視窗中。輸入“boot”後會引導kernel,啟動linux系統。在應用程式目錄下,可以通過“ls”檢視。

學號20145332 《資訊保安系統設計基礎》實驗四 驅動程式設計

環境配置

輸入ifconfig命令,記錄下arm機的ip為:192.168.0.123。修改xp系統與redhat虛擬機器的ip,使得它們均與arm機的ip在同一網段。xp系統為192.168.0.78,redhat為192.168.0.121.將三個IP地址ping一下,確保是相互聯通的。

學號20145332 《資訊保安系統設計基礎》實驗四 驅動程式設計
在pc機中“開始”、“執行”,輸入虛擬機器的ip。\192.168.0.121,輸入使用者名稱bc,密碼123456 然後確定,就可以訪問虛擬機器的檔案了。然後把所需檔案解壓縮拷貝到共享資料夾bc中。進入虛擬機器,在命令列中輸入./install.sh,安裝指令碼程式將會自動建立
目錄,配置編譯環境。
在虛擬機器中使用vi修改/root/.bash_profile檔案中的PATH變數為PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/(因為該檔案為隱藏系統檔案,所以使用ls命令不可見),存檔後執行:source /root/.bash_profile,則以後armv4l-unknown-linux-gcc會自動搜尋到,可以在終端上輸入。

實驗步驟

1、閱讀和理解原始碼
進入/arm2410cl/exp/drivers/01_demo,使用vi編輯器或其他編輯器閱讀理解原始碼。
2、編譯驅動模組及測試程式
上面介紹了在 Makefile 中有兩種編譯方法,可以在本機上使用 gcc 也可以使用交叉編 譯器進行編譯
3、測試驅動程式
如果使用 gcc 編譯的話,需要通過#mknod /dev/demo c 254 0 命令來建立裝置節點,如果使用交叉編譯器 的話,不需要建立裝置節點
4、編譯成功

[root@BC 01_demo]# ./test_demo
write 32 bytes data to /dev/demo
0:   0   1   2   3
1:   4   5   6   7
2:   8   9   10  11
3:   12  13  14  15
4:   16  17  18  19
5:   20  21  22  23
6:   24  25  26  27
7:   28  29  30  31
*****************************************************
Read 32 bytes data from /dev/demo
0:   31  30  29  28
1:   27  26  25  24
2:   23  22  21  11
3:   12  13  14  15
4:   16  17  18  19
5:   20  10   9   8
6:   7    6   5   4
7:   3    2   1   0
*****************************************************

相關文章