基于μCLinux的USB驅動(dòng)程序實(shí)現
3 實(shí)現驅動(dòng)程序的加載
驅動(dòng)程序可以按照兩種方式編譯:一種是靜態(tài)編譯進(jìn)內核;另一種是編譯成模塊以供動(dòng)態(tài)加載。該設備驅動(dòng)程序采用靜態(tài)編譯進(jìn)μClinux內核。下面以在嵌入式μClinux系統中需新增一個(gè)USB字符型設備FT245BL為例,介紹設備驅動(dòng)程序的添加的一系列步驟。
3.1 配置相關(guān)信息
首先,將編寫(xiě)好的驅動(dòng)程序復制到μClinux系統的文件目錄中。新建ft245bl目錄統一管理USB設備的驅動(dòng)文件包括C文件、頭文件、編譯文件、配置文件,存放于目錄μClinux-dist/linux-2.6.x/drivers/char/下,在ft245bl下新建Makefile,并在下面兩個(gè)編譯文件中添加編譯指令:

在ft245bl下新建配置文件Kconfig,添加驅動(dòng)名FT245BL_DRIVER、菜單選項名稱(chēng)USB ft245bl Driv-er、菜單有效選項DRIVER_FT245BL及驅動(dòng)說(shuō)明,代碼如下:

第1項是μClinux系統為設備驅動(dòng)創(chuàng )建的驅動(dòng)文件名及所在目錄;第2項是設備類(lèi)型;第3項是設備驅動(dòng)文件的權限;第4,5項分別為用戶(hù)ID和組ID;第6,7項為主設備號和次設備號;第8,9,10項分別為次設備號的起始號碼、增量和數量。
3.2 編譯驅動(dòng)程序
在/home/μClinux/μClinux-dist目錄下運行make menueonfig進(jìn)行配置,在字符設備選項中可以看見(jiàn)剛剛添加的FT245BL Driver選項,選中它。通過(guò)make的一系列編譯,所有內核和應用程序源代碼將被編譯,編譯結束后將產(chǎn)生二進(jìn)制文件uImage。
3.3 加載驅動(dòng)程序
這里的BF533主板中數據存儲器SDRAM大小為32 MB,地址為0~Ox02000000;異步存儲區BootFLASH大小為4 MB,地址為0x20000000~0x203FFFFF。在/home/μClinux/μClinux-dist運行指令下,把uImage文件拷貝到/svr/tftp目錄,tftp是一個(gè)簡(jiǎn)單的ftp下載:
cp images/uImage/svr/tftp
打開(kāi)超級終端μClinux,接通目標板電源或按復位鍵,目標板上的u-boot自動(dòng)啟動(dòng),通過(guò)超級終端的串口輸入命令:
到此,在μClinux中添加設備驅動(dòng)程序的工作已經(jīng)完成。
4 結 語(yǔ)
介紹了基于Blackfin ADSP-BF533開(kāi)發(fā)板,在μClinux環(huán)境下USB芯片FT245BL驅動(dòng)程序的設計與加載。簡(jiǎn)述了設備驅動(dòng)程序開(kāi)發(fā)的過(guò)程,并給出了讀函數和中斷函數的實(shí)例,說(shuō)明了在μiClinux下如何添加FT245BL驅動(dòng)程序的方法,實(shí)現了DSP主板的USB端口通信。本文引用地址:http://dyxdggzs.com/article/202492.htm
評論