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