




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式技術(shù)應(yīng)用編寫hello_test測試程序模塊三:嵌入式網(wǎng)關(guān)之驅(qū)動程序編寫學(xué)習(xí)目標(biāo)一、測試程序hello_test的框架二、測試程序hello_test源碼分析
三、測試程序和驅(qū)動程序hello的Makefile
四、測試程序和驅(qū)動程序hello的使用當(dāng)一個(gè)驅(qū)動編寫和編譯完成之后,下一步就是測試該驅(qū)動。測試的方法很多,對于不需要訪問硬件的驅(qū)動可以直接在Linux中測試,對于需要訪問硬件的驅(qū)動就需要在相應(yīng)的硬件上測試。本次課所用的驅(qū)動程序?yàn)樯弦淮握n的hello_driver驅(qū)動程序。一、測試程序hello_test的框架●包括所需要的頭文件?!翊蜷_驅(qū)動程序所對應(yīng)的設(shè)備文件,如下所示。fd=open("/dev/hello_driver",O_RDWR);●調(diào)用驅(qū)動的ioctl()函數(shù),比如ioctl(fd,0,NULL)?!耜P(guān)閉打開的設(shè)備文件,比如close(fd)。二、測試程序hello_test源碼分析接下來需要編寫一個(gè)能使用驅(qū)動程序中ioctl()控制函數(shù)的測試程序。#include<stdio.h> //頭文件#include<stdlib.h>......intmain(){intfd;fd=open(“/dev/hello_driver”,O_RDWR);if(fd<0){printf("/dev/hello_driveropenfail!\n");
return-1;//打開失敗,返回-1}
ioctl(fd,0,NULL);//調(diào)用驅(qū)動里的ioctl()函數(shù)sleep(1);ioctl(fd,1,NULL);sleep(1);//延時(shí)1S
close(fd);//關(guān)閉打開的設(shè)備文件return0;}上述ioctl(fd,0,NULL)中cmd參數(shù)為0,執(zhí)行驅(qū)動中ioctl()函數(shù)對應(yīng)cmd為0的語句;而ioctl(fd,1,NULL)中cmd參數(shù)為1,就執(zhí)行驅(qū)動中ioctl()函數(shù)對應(yīng)cmd為1的語句。三、測試程序和驅(qū)動程序hello的MakefileTARGET=hello_testCC=arm-linux-gccKERNELDIR?=/opt/EmbedSky/linux-/PWD:=$(shellpwd)all:$(TARGET)modules$(TARGET): $(CC)-o$(TARGET)$(TARGET).c
KERNELDIR、PWD、obj-m這些在前面已經(jīng)介紹過了,下面來看看Makefile中與測試程序的編譯有關(guān)的語句。對這條語句中的變量TARGET做相應(yīng)的替換可得到如下語句。modules: $(MAKE)-C$(KERNELDIR)M=$(PWD)modulesclean: rm-rf*.o*~core.depend.*.cmd*.ko*.order*.mod.c*.symvers.tmp_versions$(TARGET)obj-m:=hello_driver.o$(CC)-o$(TARGET)$(TARGET).carm-linux-gcc-ohello_test
hello_test.c這條語句表示使用arm-linux-gcc交叉編譯器將hello_test.c編譯成可在開發(fā)板上運(yùn)行的程序hello_test。四、測試程序和驅(qū)動程序hello的使用4.1編譯驅(qū)動程序和測試程序4.2下載驅(qū)動程序和測試程序使用SecureCRT或Minicom下載,詳見前面下載驅(qū)動的內(nèi)容。#make4.3加載驅(qū)動程序和添加設(shè)備節(jié)點(diǎn)用insmod命令加載驅(qū)動時(shí)顯示:其中252是系統(tǒng)為hello_driver驅(qū)動分配的主設(shè)備號。再使用mknod命令為hello_driver驅(qū)動添加設(shè)備節(jié)點(diǎn),其中252和0分別為hello_driver設(shè)備節(jié)點(diǎn)的主設(shè)備號和次設(shè)備號。Hello!/dev/hello_driver252#mknod/dev/hello_driverc2520這時(shí)輸入ls/dev命令便可看到hello_driver設(shè)備節(jié)點(diǎn)。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大額錢款贈與合同范本
- 2025至2030年中國電腦婚紗編輯軟件數(shù)據(jù)監(jiān)測研究報(bào)告
- 學(xué)??照{(diào)購買合同范本
- 現(xiàn)代電商物流配送的效率提升策略
- 2025至2030年中國熱水自動增壓泵數(shù)據(jù)監(jiān)測研究報(bào)告
- 科技教育背景下學(xué)生表現(xiàn)的評價(jià)方法
- 社區(qū)服務(wù)人員與公眾關(guān)系處理技巧
- 2025至2030年中國液化氣瓶封口機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 交通設(shè)施承包合同
- 2024年重慶市集中選調(diào)應(yīng)屆大學(xué)畢業(yè)生到基層工作考試真題
- 教育的減法讓孩子更幸福(課件)-小學(xué)生教育主題班會通用版
- 垃圾中轉(zhuǎn)站運(yùn)營管理投標(biāo)方案(技術(shù)標(biāo))
- 大格子作文紙模板
- 速成格魯吉亞語
- 轉(zhuǎn)學(xué)申請表、轉(zhuǎn)學(xué)證明
- 分層作業(yè),分出活力小學(xué)數(shù)學(xué)作業(yè)分層設(shè)計(jì)的有效策略
- 團(tuán)員組織關(guān)系轉(zhuǎn)接介紹信(樣表)
- 網(wǎng)絡(luò)安全系統(tǒng)集成高職PPT完整全套教學(xué)課件
- 射頻消融術(shù)介紹【共48張PPT】
- 驗(yàn)證機(jī)械能守恒物理實(shí)驗(yàn)報(bào)告
- 5.13 導(dǎo)游口頭語言表達(dá)技巧《導(dǎo)游業(yè)務(wù)》教學(xué)課件
評論
0/150
提交評論