新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新宾| 乌鲁木齐市| 同仁县| 准格尔旗| 台中市| 衡南县| 乌拉特前旗| 吐鲁番市| 京山县| 探索| 四子王旗| 尚志市| 太湖县| 东平县| 许昌县| 宜丰县| 五常市| 黑山县| 漳州市| 彩票| 石家庄市| 准格尔旗| 海晏县| 永丰县| 抚远县| 洛川县| 耒阳市| 曲麻莱县| 德庆县| 河津市| 神农架林区| 福泉市| 贡山| 长沙县| 潞西市| 四子王旗| 淮南市| 获嘉县| 武胜县| 绥德县| 泾川县|