none
有關Windows Mobile 6 Device上如何實作USB Host? RRS feed

  • 問題

  • 各位專家大大,我最近需要寫一支在Windows Mobile 6.1(6.5)上的USB設備驅動程式,我找了許多文章,實在被搞混了,請
    問在Windows CE對於USB無論Host或Client有完整的支援,那在Windows Mobile 6.1(6.5)是不是同樣也有?如果有,要在哪
    裡可以找到較完整的技術文件,有沒有提供系統的API Call或DLL可用?請知道的大大多多幫忙。
    2009年9月21日 上午 10:34

解答

  • CE/WM 這兩個 OS 其實都是一樣的 core 而兩個 OS 本身對於 USB support 方式也是一樣的
    你需要的應該是 USBD.DLL export 出來給 USB Host class driver 用的 API (其實是給 USB Class driver 的一堆 func pointer)
    雖然 WM Adaption Kit 是 OEM product 只有特定廠商會有 但 WM 跟 CE 其時在 Driver level 可以說是一樣的東西
    而 CE 的 development kit 其實任何人都可以去 download trial release (雖然不是完全一樣的東西 但是至少類似)
    所以你在 MSDN 看到只 support CE 的 info 其實不盡然正確 大部份時候 WM 就是那樣運做的
    就關念上更重要的是 一但進到 USB class programming 那就不再是 App programming 的範籌 而是進到了 Driver Programming
    相對的 需要的 domain knowledge 就會是 system programming (OS, Driver and etc)

    關於 usb http://msdn.microsoft.com/en-us/library/aa932230.aspx
     http://msdn.microsoft.com/en-us/library/aa930914.aspx

    *請注意 Mobile 6 <> CE 6
    • 已提議為解答 JocoboNY 2009年10月1日 上午 05:45
    • 已標示為解答 bauannModerator 2009年10月6日 下午 06:06
    2009年9月24日 上午 08:39

所有回覆

  • Hi,
    這篇討論可以參考看看

    RFID Windows Mobile Driver
    http://social.msdn.microsoft.com/Forums/zh-TW/803/thread/955ddcc4-6d27-48d1-94ff-77ccc089c3c4/
    提問時請清楚描述問題、留意應有禮節;嚴禁一行文、注音文 blog : http://www.dotblogs.com.tw/bauann/
    2009年9月23日 上午 02:32
    版主
  • 抱歉!這篇我之前也參考過了,可是仍無法解答我的疑問,在MSDN瀏覽相關技術文章,每每到
    關鍵就被導向Win CE,而相關的文章標示並不相容或支援Windows Mobile,所以很困擾,究竟
    Windows Mobile手機,在微軟或手機商的策略中,有否可能是不開放手機設備的USB Port做為
    與周邊設備溝通的接口,還是一定要成為相關的策略夥伴,才有辦法取得相關的USB底層呼叫的
    技術文件,因為我必須在手機上寫一段自行開發的USB設備驅動程式,才有辦法讓一般應用程式
    開發者,繼續後面的應用開發,可是真的很難在網路上找到相關的資訊,網路上有相關的鍵盤、
    滑鼠、照相機等標準設備的USB驅動程式,這些都沒辦法被我套用,因為我的設備並不是一般的
    標準(基礎)設備,所以我得自行從底層呼叫USB存取功能,針對我的設備去做出符合USB Host
    & Client標準架構的驅動程式,所以,所以.....萬能的天神、版主及專家大大們,有誰可以給我
    "一針見血"的幫助呀?  T_T.....

    2009年9月23日 上午 02:59
  • xda這篇你看看吧,最下面還有另外兩篇的連結;不過看起來這需要廠商有實作,硬體使用的chipset也要有支援才行

    http://forum.xda-developers.com/showthread.php?t=480279
    提問時請清楚描述問題、留意應有禮節;嚴禁一行文、注音文 blog : http://www.dotblogs.com.tw/bauann/
    2009年9月23日 上午 03:31
    版主
  • 這篇我也看過了,但是那只是把USB模擬成Serial Port,而且變成我以後就要依賴它了,我是
    想有沒有微軟的官方文件可以比較清楚說明,有關Windows Mobile Device在USB方面的政策
    ,與是否有提供系統或公(共)用層級的Dll程式,還是要靠Device製造商提供?等等的,我好
    進行下一步,其實,製造商門檻很高,不是所有人都可以接觸得到的,這一部分很不透明,微
    軟最近想推MarketPlace,不過我想微軟不去打破軟硬體對開發者不利的僵局,會讓很多人轉
    向Iphone跟Android系統的,我想版主大大也沒辦法回答這個問題吧?唉!不過不管怎麼樣還
    是要感謝版主大大。

    2009年9月23日 上午 08:22
  • CE/WM 這兩個 OS 其實都是一樣的 core 而兩個 OS 本身對於 USB support 方式也是一樣的
    你需要的應該是 USBD.DLL export 出來給 USB Host class driver 用的 API (其實是給 USB Class driver 的一堆 func pointer)
    雖然 WM Adaption Kit 是 OEM product 只有特定廠商會有 但 WM 跟 CE 其時在 Driver level 可以說是一樣的東西
    而 CE 的 development kit 其實任何人都可以去 download trial release (雖然不是完全一樣的東西 但是至少類似)
    所以你在 MSDN 看到只 support CE 的 info 其實不盡然正確 大部份時候 WM 就是那樣運做的
    就關念上更重要的是 一但進到 USB class programming 那就不再是 App programming 的範籌 而是進到了 Driver Programming
    相對的 需要的 domain knowledge 就會是 system programming (OS, Driver and etc)

    關於 usb http://msdn.microsoft.com/en-us/library/aa932230.aspx
     http://msdn.microsoft.com/en-us/library/aa930914.aspx

    *請注意 Mobile 6 <> CE 6
    • 已提議為解答 JocoboNY 2009年10月1日 上午 05:45
    • 已標示為解答 bauannModerator 2009年10月6日 下午 06:06
    2009年9月24日 上午 08:39
  • CE/WM 這兩個 OS 其實都是一樣的 core 而兩個 OS 本身對於 USB support 方式也是一樣的
    你需要的應該是 USBD.DLL export 出來給 USB Host class driver 用的 API (其實是給 USB Class driver 的一堆 func pointer)
    雖然 WM Adaption Kit 是 OEM product 只有特定廠商會有 但 WM 跟 CE 其時在 Driver level 可以說是一樣的東西
    而 CE 的 development kit 其實任何人都可以去 download trial release (雖然不是完全一樣的東西 但是至少類似)
    所以你在 MSDN 看到只 support CE 的 info 其實不盡然正確 大部份時候 WM 就是那樣運做的
    就關念上更重要的是 一但進到 USB class programming 那就不再是 App programming 的範籌 而是進到了 Driver Programming
    相對的 需要的 domain knowledge 就會是 system programming (OS, Driver and etc)

    關於 usb http://msdn.microsoft.com/en-us/library/aa932230.aspx
     http://msdn.microsoft.com/en-us/library/aa930914.aspx

    *請注意 Mobile 6 <> CE 6

    謝謝您的答覆,經過這些日子的摸索,我的了解也差不多如此,只是我是以應用軟體開發者的角度切入,平
    常是不碰這些的,最多只是引用人家的驅動程式介面,此次遇到特殊狀況,必須在我這一端就把硬體驅動給
    搞定,所以碰了一鼻子灰,我也知道驅動程式開發的環境不上一般應用程式,可能是因為平常不碰,所以在
    此一環境要找到適當的文件,總是要多花些時間,只是覺得不管微軟或手機廠商也好,應該要更開放一點,
    訂出更完善更直覺的程式呼叫介面,呵呵,也或許我不在驅動程式或系統程式的領域,搞不好我提的這些都
    不會是其他人的問題。哈哈!
    我光要找問題解答,打了幾通手機廠的客服,都無法解答,或許你會笑,這種問題客服當然無法解答,但我
    們這種SOHO或小公司,根本就搆不到微軟或手機廠的關鍵技術人員,所以很多資訊要靠網路搜尋其實很片
    段零散,只好繼續努力了,呵呵!所以驅動與應用都要做的情形下,才會這麼累。
    哈!不過大大,如果跟微軟的產品經理若有熟,可以跟他們反應一下嗎?請他們針對手機廠等協力廠商,加
    強整合或宣導,若能提供更多由微軟的官方支援,那麼針對手機的軟硬體系統呼叫(如非微軟系統呼叫、各
    種感應Sensor及通訊),提供標準及統一的系統呼教界面,那麼投入的軟體開發者一定會增加,對於微軟要
    推MarketPlace也比較有利呀,不是嗎?
    2009年9月25日 上午 01:11