新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)U盤實(shí)時(shí)啟動(dòng)技術(shù)

嵌入式系統(tǒng)U盤實(shí)時(shí)啟動(dòng)技術(shù)

作者: 時(shí)間:2011-07-24 來源:網(wǎng)絡(luò) 收藏
(2)初始化USBD的函數(shù)

本文引用地址:http://m.butianyuan.cn/article/150438.htm

  函數(shù)usbdInitialize()初始化內(nèi)部USBD數(shù)據(jù)結(jié)構(gòu),并依次調(diào)用其他USB驅(qū)動(dòng)棧模塊的入口。

  函數(shù)usbdlnitialize()調(diào)用usbdHcdAttach(execFunc,s1811IOCfg,pToken)把HCD連接到USBD上。這里的execFunc就是函數(shù)usbHcdSl811hExee()。

  函數(shù)usbdInitialize()調(diào)用USBEnumerate(USBD_CLIENT_HANDLE clientHandle,F(xiàn)ILE*fout)列舉所有連接到上的USB主控制器、Hub和USB設(shè)備。

  (3)初始化USB存儲(chǔ)設(shè)備的函數(shù)

  函數(shù)usbBulkDevInit()完成USB盤的初始化并安裝DOS文件

  函數(shù)usbBulkDevlnit調(diào)用函數(shù)usbdClientRegister(BULK_CLASS,usbdHandle)及函數(shù)usbdDynamicAt-tachRegister(usbdHandle,USB_CLASS_MASS_STORAGE,USB_SUBCLASS_SCSLCOMMAND_SET,USB_INTERFACE_PROTOCOL_BULK_ONLY,usbBulkDc-vAttachCallback),建立同USB的連接,注冊回調(diào)例程。

  函數(shù)usbBulkDevlnit調(diào)用函數(shù)OSS_THREAI)_CRE-ATE(bulkClientThread,(pVOID) fout,OSS_PRIORITYINTERRUPT,tBulkClnt,bulkTaskId),創(chuàng)建一個(gè)任務(wù),管理優(yōu)盤的插入和移出。

  其中bulkCliemThread例程調(diào)用pBulkBlkDev=(BLK_DEV*)usbBulkBlkDevCreate (bulkNodeld,NULL,NULL,USB_SCSI_FLAG_READ_WRITEl0);安裝USB設(shè)備。 調(diào)用pBulkDosVol=dosFsDevInit(/ud0/,pButkBlkDev,NULL);安裝DOS文件。

  (4)從優(yōu)盤加載映像文件的函數(shù)

  設(shè)計(jì)USBDLoad(),實(shí)現(xiàn)映像文件VxWorks從優(yōu)盤設(shè)備加載。USBDLoad()函數(shù)主要包括以下語句:

  

修改bootConfig.c文件中的bootLoad函數(shù),加入對從優(yōu)盤的支持。主要加入以下語句:

  

  重新編譯、鏈接生成新的bootrom.hex,燒錄到板子上的Flash中,將VxWorks映像文件拷貝到優(yōu)盤上,將優(yōu)盤插入到主機(jī)的USB接口上。在的過程中,系統(tǒng)會(huì)自動(dòng)裝載優(yōu)盤的VxWorks系統(tǒng)映像文件,實(shí)現(xiàn)基于VxWorks的系統(tǒng)優(yōu)盤。

  3 總 結(jié)

  在基于MPC860和VxWorks設(shè)計(jì)的實(shí)驗(yàn)板上可實(shí)現(xiàn)嵌入式系統(tǒng)從優(yōu)盤的啟動(dòng)。當(dāng)然,在實(shí)際應(yīng)用中還可以將嵌入式系統(tǒng)采集到的數(shù)據(jù)保存到優(yōu)盤上,這樣能方便地實(shí)現(xiàn)嵌入式設(shè)備和PC機(jī)設(shè)備資源的共享。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉