VxWorks實時操作系統的USB驅動程序原理與分析
1、問題的提出
通用串行總線(USB)作為一種中高速的數據方式,已經很普遍地應用于外設與主機的通信中。VxWorks 是當今十分流行的實時操作系統,在通信、國防、工業控制、醫療設備等嵌入式實時應用領域。很多VxWorks系統中都有USB設備,可是關于USB的驅動實現并沒有相關的資料可以參考,給實際工作帶來了難題。本文通過詳細地分析VxWorks下的USB驅動棧,具體提出了其實際應用的方法,為USB在應用 VxWorks的嵌入式系統的開發掃清了技術障礙。
2、VxWorks簡介
VxWorks是 WindRiver公司開發的具有工業領導地位的高性能實時操作系統(Real Tim Operation System,RTOS)內核,具有先進的網絡功能。VxWorks的開放式結構和對工業標準的支持,使得開發人員易于設計高效的嵌入式系統,并可以很小的工作量移植到其它不同的處理器上。
作為一種先進的實時操作系統,它具有以下特點:
可裁剪微內核結構。
高效的任務管理:
① 多任務,具有256個優先級。
② 具有優先級排隊和循環調度。
③ 快速的、確定性的上下文切換。
靈活的任務間通訊:
① 三種信號燈:二進制、計數、有優先級繼承特性的互斥信號燈。
② 消息隊列。
③ 套接字(Socket)。
④ 共享內存。
⑤ 信號(Signals)
微秒級的中斷處理。
支持POSIX 1003.1b實時擴展標準。
支持多種物理介質及標準的、完整的TCPIP網絡協議。
靈活的引導方式。支持從ROM、flash、本地盤(軟盤或硬盤)或網絡引導。
支持多處理器并行處理。
快速靈活的l/O系統。
支持MS-DOS和RT-11文件系統。
支持本地盤,flash,CD-ROM 的使用。
完全符合ANSI C標準。
多個系統調用。
3、 USB驅動程序的結構概述
圖1提供了一個USB主驅動棧結構的簡單概括。圖2顯示了USB主驅動棧的各模塊之間的功能聯系。
圖1 USB主驅動棧結構簡單模型
圖2 USB主驅動棧各模塊之間的功能聯系
評論