mass storage的實際應用就是u盤,目標板和pc通過usb相連,pc可以把目標板識別為u盤,在很多產品上都很常用。這裡介紹一下在wince系統中u盤功能的實現。
在談wince的usb mass storage實現之前,首先要具備以下條件:
1. 開發板支援usbclient裝置。
2. 開發板上至少有一種儲存裝置可以被用來對映為u盤。
現在的處理器一般都帶有usb client或者是usb otg控制器,並且bsp中都有相應的驅動。對於儲存裝置來說,nandflash或者sd卡都可以作為儲存裝置。所以都不是什麼問題。下面介紹一下步驟:
1. 選擇wince mass storage元件
在定製wince的時候,在catalog items view中選擇」device drivers」->」usb function」->」usb function clients」->」mass storage」。
2. 更改usb client驅動的登錄檔配置
在wince中,usb client驅動的登錄檔配置如下:
[hkey_local_machine/drivers/usb/functiondrivers]
「defaultclientdriver」:設定預設的usb client驅動,這裡應該是mass_storage_class
[hkey_local_machine/drivers/usb/functiondrivers/mass_storage_class]
「dll」:usb client的驅動
「devicename」:被對映為u盤的儲存裝置的裝置名
「friendlyname」:顯示裝置名
「idvendor」:vendor id,應該向usb組織申請
「idproduct」:product id,由廠商定義
「manufacturer」:廠商名
「product」:產品名
「bcddevice」:裝置的版本號
「inte***cesubclass」:usb host端通過該值來列舉裝置,06h表示mass storage。
「inte***ceprotocol」:usb裝置所支援的傳輸協議,50h表示bulk-only。
上面對登錄檔的配置進行了介紹,這裡給各例子:
[hkey_local_machine/drivers/usb/functiondrivers]
"defaultclientdriver"="mass_storage_class"
[hkey_local_machine/drivers/usb/functiondrivers/mass_storage_class]
"dll"="usbmsfn.dll"
"inte***cesubclass"=dword:06
"inte***ceprotocol"=dword:50
"devicename"="dsk1:"
"friendlyname"="mass storage"
"idvendor"=dword:048c
"manufacturer"="honeywell"
"idproduct"=dword:0001
"product"="honeywell mass storage"
"bcddevice"=dword:0
3. 重新編譯wince工程
由於新增了新的元件,需要重新編譯wince工程。
WinCE下Socket程式設計
wince下socket程式設計 wince 不支援win32中socket非同步類 那個mfc類忘記啥名字了 在軟體開發中 網路程式設計 是必不可少的基本功了 本文所講的 socket 程式設計也就是網路程式設計中的一種形式 當然你如果想問我什麼叫 socket 很遺憾的是我也不能準確的告訴你!但...
WinCE下顯示相關概念
lcd顯示原理及應用q lcd與lcm的區別?a lcd liquid crystal display 液晶顯示屏 lcm liquid crystal module 液晶顯示模組 包括元件 q lcd介面形式有幾種?a 主要lcd顯示介面分為兩種 cmos ttl介面和lvds low volta...
WinCE下multi bin的實現
使用平台 omap3530 wince6.0 最近幾個月一直在弄bootloader,利用sd卡公升級系統以及bootloader,主要的功能差不多做完了,但是啟動速度是乙個問題,26m的核心啟動大概需要12 13s的時間,遠遠不能達到使用者的需求,我們決定採用multi bin來提高啟動速度。工作...