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

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

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