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