WinCe 下 Mass Storage 的實現

2021-05-27 08:37:35 字數 2173 閱讀 6278

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來提高啟動速度。工作...