驅(qū)動(dòng)開(kāi)發(fā)-USB設(shè)備加載技術(shù)_第1頁(yè)
驅(qū)動(dòng)開(kāi)發(fā)-USB設(shè)備加載技術(shù)_第2頁(yè)
驅(qū)動(dòng)開(kāi)發(fā)-USB設(shè)備加載技術(shù)_第3頁(yè)
驅(qū)動(dòng)開(kāi)發(fā)-USB設(shè)備加載技術(shù)_第4頁(yè)
驅(qū)動(dòng)開(kāi)發(fā)-USB設(shè)備加載技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、USB設(shè)備加載技術(shù)一、 確定任務(wù)1、 掌握Linux系統(tǒng)下USB內(nèi)核及USB主控制器驅(qū)動(dòng)模塊的配置和編譯。2、 了解Linux系統(tǒng)下USB主機(jī)的軟件架構(gòu)。二、 學(xué)習(xí)內(nèi)容 1、 閱讀S5PV210數(shù)據(jù)手冊(cè),了解USB主機(jī)控制器的使用。2、配置內(nèi)核及支持USB接口。三、基礎(chǔ)知識(shí)1、 硬件原理:a) 原理圖:OTG系統(tǒng)架構(gòu)圖:寄存器簡(jiǎn)介:a) S3PV210處理器自帶有USB主機(jī)控制器,詳細(xì)相關(guān)原理請(qǐng)讀者自行查找資料。b) USB物理層控制寄存器USB時(shí)鐘控制寄存器四、基本原理1、 基礎(chǔ)知識(shí):因?yàn)镾3C6410處理器的USB主機(jī)控制器兼容于OHCI標(biāo)準(zhǔn),請(qǐng)讀者自行參考OHCI規(guī)范。2、 驅(qū)動(dòng)原理:L

2、inux系統(tǒng)2.6.版本內(nèi)核中包含了功能全面的USB主機(jī)內(nèi)核軟件,通過(guò)該內(nèi)核將USB的軟件與硬件隔離開(kāi)。對(duì)于不同的USB主機(jī)控制器只需要編寫(xiě)與硬件相關(guān)的驅(qū)動(dòng)程序就可以在Linux系統(tǒng)下使用。USB內(nèi)核提供了兩套API,分別為高層API和低層API,如圖所示。高層API是與硬件無(wú)關(guān)的,由應(yīng)用程序使用的函數(shù)集;低層API也就是與硬件底層USB主機(jī)控制器相關(guān)的函數(shù)集。不同的USB主機(jī)控制器使用低層API編寫(xiě)其驅(qū)動(dòng)程序。五、代碼設(shè)計(jì) 與編譯a) 驅(qū)動(dòng)代碼:/driver/host/ohci-s5pv210.c在/driver /usb/host/目錄下的ohci-hcd.c中:#if defined(

3、CONFIG_ARCH_S5PV210) | defined(CONFIG_ARCH_S5P6450) | defined(CONFIG_ARCH_S5PV310)#include "ohci-s5pv210.c"#define PLATFORM_DRIVERohci_hcd_s5pv210_driver /定義了一個(gè)S5PV210的USB控制器驅(qū)動(dòng)程序結(jié)構(gòu)體#endifstatic int _init ohci_hcd_mod_init(void)#ifdef PLATFORM_DRIVERretval = platform_driver_register(&PL

4、ATFORM_DRIVER); /向USB系統(tǒng)注冊(cè)USB控制器驅(qū)動(dòng)程序if (retval < 0)goto error_platform;#endifclear_bit(USB_OHCI_LOADED, &usb_hcds_loaded);b) USB主機(jī)端探測(cè)程序:當(dāng)注冊(cè)了主機(jī)端的設(shè)備驅(qū)動(dòng)程序之后,由總線驅(qū)動(dòng)程序調(diào)用ohci_hcd_s5pv210_drv_probe完成OHCI設(shè)備的初始化和添加:static int ohci_hcd_s5pv210_drv_probe(struct platform_device *pdev)hcd = usb_create_hcd(&a

5、mp;ohci_s5pv210_hc_driver, &pdev->dev, "s5pv210"); /創(chuàng)建hcd數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)空間s5pv210_start_ohc(); /初始化hcd控制器。ohci_hcd_init(hcd_to_ohci(hcd); /hcd結(jié)構(gòu)體初始化retval = usb_add_hcd(hcd, pdev->resource1.start,IRQF_DISABLED | IRQF_SHARED); /向系統(tǒng)注冊(cè)hcd控制器s5pv210_stop_ohc(); /停止hcd控制器3、 驅(qū)動(dòng)程序編譯:c) 進(jìn)入內(nèi)核目錄,ma

6、ke menuconfig -USB support 添加USB主機(jī)控制器支持,如下圖配置:d) 添加SCSI設(shè)備支持:進(jìn)入SCSI devices upport ,將SCSI disk suport 編譯進(jìn)內(nèi)核。e) 添加USB設(shè)備支持,進(jìn)入U(xiǎn)SB support菜單,對(duì)大容量類的驅(qū)動(dòng)配置為模塊。保存配置退出,make之后,主機(jī)端的驅(qū)動(dòng)被編譯進(jìn)系統(tǒng)。(實(shí)驗(yàn)箱的內(nèi)核已經(jīng)包涵該驅(qū)動(dòng)),在drivers/usb/storage/目錄下得到usb-storage.ko文件。將編譯好的內(nèi)核鏡像zImage燒寫(xiě)到實(shí)驗(yàn)箱的FLASH。六、運(yùn)行結(jié)果1、 將U盤(pán)插入U(xiǎn)SB host口,終端顯示:rootGEC

7、-210 /sdcard# usb 1-1.3: USB disconnect, address 4usb 1-1.3: new high speed USB device using s5p-ehci and address 5usb 1-1.3: New USB device found, idVendor=cd12, idProduct=ef18usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3usb 1-1.3: Product: Flash usb 1-1.3: Manufacturer: USB u

8、sb 1-1.3: SerialNumber: 8618F2CAA49F02C3scsi2 : usb-storage 1-1.3:1.0scsi 2:0:0:0: Direct-Access USB Flash 1.00 PQ: 0 ANSI: 2sd 2:0:0:0: sda 4098048 512-byte logical blocks: (2.09 GB/1.95 GiB)sd 2:0:0:0: sda Write Protect is offsd 2:0:0:0: sda Assuming drive cache: write throughsd 2:0:0:0: Attached scsi generic sg0 type 0sd 2:0:0:0: sda Assuming drive cache: write throughsda: sda1sd 2:0:0:0: sda Assuming drive cache: write throughsd 2:0:0:0: s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論