新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > VxWorks下的同類USB設備管理方法

        VxWorks下的同類USB設備管理方法

        作者: 時間:2013-10-08 來源:網絡 收藏


          在讀寫設備時。可以設備號作為設備的標識,并通過設備號在nodeld數組中得到設備的nodeId,再從設備列表中查找到具體的物理設備的描述符。從而得到設備資源并對設備進行訪問。以LM9833讀設備為例,其讀設備原型代碼如下:


          其中,usbScanRead()是驅動程序向用戶應用程序提供的接口函數,直接調用該函數即可讀取設備,其它的設備函數也是如此,其中設備號dev是由用戶根據不同設備的不同Product ID(PID)號制定的,這樣,當設備接入系統時,驅動程序就會根據其PID號判斷其設備號,并將該設備的nodeld值存放于數組的特定位置。由于此時設備始終處于就緒狀態,用戶可以隨時對設備進行讀寫操作,而并不存在打開設備的操作。

          讀寫設備時,首先要根據設備號dev從設備列表中查找出設備,并將其定位到具體的設備描述符上。在查找設備時,遍歷設備列表,就可找到節點設備描述符中nodeId與usbd_node_id[dev]相匹配的設備描述符結構體,并返回該結構體,然后再由設備描述符結構體得到設備的資源信息,從而實現對設備的讀寫。圖6所示是查找設備的一個簡單流程。


          該方法屏蔽了復雜的驅動程序列表和文件描述符表,從而提供了一種快速定位和訪問設備的方法。這種方法在專用的系統中,對設備的訪問是非常高效的,但不具有通用性,也就是說,對于不同類別的設備。則需要另外一套同樣的機制來實現。

          3 結束語

          本文提出了一種獨立于 I/O系統的USB方法。該方法也是一種獨立于I/O系統的USB設備驅動程序設計模式,它對于在專用系統中設備的管理是非常有效的。通過對USB設備描述符、設備列表、以及應用程序訪問設備流程的設計,可以成功實現獨立于I/O系統的方法。這一種方法可以利用驅動程序直接向應用系統提供接口函數和nodeld數組。從而摒棄了I/O系統中復雜的驅動程序列表和文件描述符等概念。目前,這種獨立于 I/O系統的USB方法已在某大型掃描儀中得到應用,并取得了一定的經濟效益。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太仆寺旗| 铁力市| 革吉县| 历史| 麻阳| 临沂市| 镇宁| 丰城市| 电白县| 浮山县| 桂阳县| 丹巴县| 巴林右旗| 汝城县| 上思县| 蒙自县| 岳池县| 昭通市| 泸西县| 谷城县| 南华县| 襄樊市| 巴塘县| 宜阳县| 侯马市| 桑日县| 黄石市| 河西区| 梁河县| 宿迁市| 屏山县| 大石桥市| 牟定县| 隆化县| 庆云县| 嘉峪关市| 岳阳县| 清新县| 民丰县| 广西| 昌平区|