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