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