54.4 運(yùn)行測(cè)試 54.4.1 編譯驅(qū)動(dòng)程序 創(chuàng)建 Makefile 文件,內(nèi)容和前面實(shí)驗(yàn)基本一樣,需要將 obj-m 的值修改為 ft5426.o,具體內(nèi)容如下: KERNELDIR := /home/topeet/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga CURRENT_PATH := $(shell pwd) obj-m := ft5426.o build: kernel_modules kernel_modules: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules clean: $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean 首先我們?cè)诮K端輸入兩個(gè)命令(設(shè)置兩個(gè)環(huán)境變量): export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- 然后執(zhí)行“make”命令進(jìn)行編譯,編譯完成生產(chǎn) ft5426.ko 驅(qū)動(dòng)模塊文件。 54.4.2 運(yùn)行測(cè)試 編譯設(shè)備樹(shù)文件,使用新的設(shè)備樹(shù)文件啟動(dòng)開(kāi)發(fā)板,然后拷貝編譯生產(chǎn)的 ft5426.ko 驅(qū)動(dòng)模塊文件到開(kāi)發(fā)板根文件系統(tǒng) lib/modules/4.1.15 目錄下(檢查開(kāi)發(fā)板根文件系統(tǒng)中有沒(méi)有“/lib/modules/4.1.15”這個(gè)目錄,如果沒(méi)有的話需要自行創(chuàng)建一下。開(kāi)發(fā)板中使用的是光盤(pán)資料里面提供的 busybox 文件系統(tǒng),光盤(pán)資料的“i.MX6UL 終結(jié)者光盤(pán)資料\08_開(kāi)發(fā)板系統(tǒng)鏡像\03_文件系統(tǒng)鏡像\01_Busybox 文件系統(tǒng)”目錄下)。使 用下列命令加載模塊: depmod modprobe ft5426 當(dāng)驅(qū)動(dòng)模塊加載成功后,有如圖 54.4.2.1 信息: ![]() 驅(qū)動(dòng)加載成功后就會(huì)生成/dev/input/eventn 設(shè)備文件,比如本觸摸屏如圖 54.4.2.2 所示: ![]() event4 設(shè)備文件就是觸摸屏對(duì)應(yīng)的文件。當(dāng)然也有可能文件名稱(chēng)不同。 使用命令查看 event4 文件: hexdump /dev/input/event4 使用一根手指觸摸屏幕在抬起,會(huì)有信息輸出,如圖 54.4.2.3 所示: ![]() 54.4.3 將驅(qū)動(dòng)添加到內(nèi)核中 前面我們把觸摸屏驅(qū)動(dòng)編譯成了模塊文件,每次系統(tǒng)啟動(dòng)后都需要手動(dòng)加載驅(qū)動(dòng)模塊,這樣很不方便。當(dāng)我們的設(shè)備驅(qū)動(dòng)調(diào)試成功后,一般會(huì)把驅(qū)動(dòng)直接編譯到內(nèi)核中,這樣內(nèi)核啟動(dòng)后就會(huì)自動(dòng)加載驅(qū)動(dòng)。在本節(jié)就來(lái)看一下如何將 ft5426.c 驅(qū)動(dòng)文件添加到 Linux 內(nèi)核中去。 1、 、 將驅(qū)動(dòng)文件放到合適目錄下 測(cè)試成功的驅(qū)動(dòng)文件首先要放到 Linux 內(nèi)核的合適的目錄下,這時(shí)我們可以參考類(lèi)似設(shè)備的驅(qū)動(dòng)文件存放目錄,比如觸摸屏驅(qū)動(dòng)文件,我們可以找到在 drivers/input/touchscreen 目錄下都是關(guān)于觸摸的驅(qū)動(dòng)文件,因此我們把 ft5426.c 驅(qū)動(dòng)文件也放到這個(gè)目錄下。 2、 、的 修改對(duì)應(yīng)的 Makefile 把 ft5426.c 驅(qū)動(dòng)文件放到 drivers/input/touchscreen 目錄下后,需要修改此目錄下的 Makefile 文件,添加如下內(nèi)容: obj-y += ft5426.o 添加完成所示: ![]() 修改完成后,重新編譯 Linux 內(nèi)核,然后使用新的 zImage 鏡像啟動(dòng)開(kāi)發(fā)板,驅(qū)動(dòng)添加成功啟動(dòng)有如圖54.4.3.2 信息打印: ![]() 可以使用下面的命令查看對(duì)應(yīng)的 event 時(shí)間: cat /proc/bus/input/devices 結(jié)果如下: ![]() 可以看到 ft5426 對(duì)應(yīng)/dev/input/event1 設(shè)備文件,然后使用下面的命令查看驅(qū)動(dòng)是否工作正常: hexdump /dev/input/event1 結(jié)果如圖 54.4.3.4 所示: ![]() 說(shuō)明 ft5426 驅(qū)動(dòng)工作正常。 ![]() ![]() |