新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統U盤實時啟動技術

        嵌入式系統U盤實時啟動技術

        作者: 時間:2011-07-24 來源:網絡 收藏
        (2)初始化USBD的函數

        本文引用地址:http://www.104case.com/article/150438.htm

          函數usbdInitialize()初始化內部USBD數據結構,并依次調用其他USB驅動棧模塊的入口。

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

          函數usbdInitialize()調用USBEnumerate(USBD_CLIENT_HANDLE clientHandle,FILE*fout)列舉所有連接到上的USB主控制器、Hub和USB設備。

          (3)初始化USB存儲設備的函數

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

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

          函數usbBulkDevlnit調用函數OSS_THREAI)_CRE-ATE(bulkClientThread,(pVOID) fout,OSS_PRIORITYINTERRUPT,tBulkClnt,bulkTaskId),創建一個任務,管理優盤的插入和移出。

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

          (4)從優盤加載映像文件的函數

          設計USBDLoad(),實現映像文件VxWorks從優盤設備加載。USBDLoad()函數主要包括以下語句:

          

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

          

          重新編譯、鏈接生成新的bootrom.hex,燒錄到板子上的Flash中,將VxWorks映像文件拷貝到優盤上,將優盤插入到主機的USB接口上。在的過程中,系統會自動裝載優盤的VxWorks系統映像文件,實現基于VxWorks的系統優盤

          3 總 結

          在基于MPC860和VxWorks設計的實驗板上可實現嵌入式系統從優盤的啟動。當然,在實際應用中還可以將嵌入式系統采集到的數據保存到優盤上,這樣能方便地實現嵌入式設備和PC機設備資源的共享。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 万源市| 肥城市| 师宗县| 蕉岭县| 牡丹江市| 麻江县| 寿阳县| 偏关县| 尼勒克县| 广灵县| 石泉县| 安化县| 青岛市| 永清县| 乐业县| 金溪县| 托克逊县| 台山市| 陈巴尔虎旗| 新营市| 西华县| 灵寿县| 全椒县| 青海省| 孟州市| 苗栗市| 乌兰察布市| 宾阳县| 八宿县| 吐鲁番市| 赤峰市| 土默特左旗| 宜都市| 微山县| 鹤山市| 延寿县| 沭阳县| 孝义市| 吴堡县| 湛江市| 凌海市|