實時嵌入式操作系統VxWorks設備驅動程序的設計
摘要:在嵌入式實時系統中進行軟硬件開發的關鍵是編寫高效可靠的設備驅動程序,而VxWorks下END網口驅動程序是設備驅動程序中較為復雜的一類。首先從整體上分析了VxWorks操作系統的特點與結構,然后介紹了VxWorks中設備驅動程序的功能、結構和開發方法,并給出了END網口驅動程序的設計實例。該文時VxWorks設備驅動程序開發者具有參考價值,通過本文可以方便的進行END驅動的配置和使用。
關鍵詞:實時操作系統;板級支持包;設備驅動程序;END網口驅動
VxWorks是WindRiver公司開發的一種高性能的嵌入式實時操作系統(RTOS),以其優良的可靠性、開放性、實時性和易用性贏得了大量的客戶。VxWorks是目前嵌入式系統領域中使用最廣泛、市場占有率最高的系統,被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。
在目前多數操作系統中,用戶必須通過驅動程序才能與設備進行交互,正是設備驅動程序為其提供了可訪問性和可操作性,而設備驅動程序本身跟操作系統的相關性特別密切。本文針對VxWorks操作系統特點,分析設備驅動程序的功能、組成和開發過程,并給出END網口驅動程序的一個設計實例。
1 嵌入式實時操作系統VxWorks
下面首先圍繞VxWorks的特點和結構這兩個關鍵問題進行闡述。
1.1 VxWorks的特點
1)可靠性 操作系統的用戶希望在一個工作穩定、可以信賴的環境中工作,所以操作系統的可靠性是用戶首先要考慮的問題。而穩定、可靠一直是VxWorks的一個突出優點。自從對中國的銷售解禁以來,VxWorks以其良好的可靠性在中國贏得了越來越多的用戶。
2)實時性 實時性是指能夠在限定時間內執行完規定的功能并對外部的異步事件做出響應的能力。實時性的強弱是以完成規定功能和做出響應時間的長短來衡量的。VxWorks的實時性非常強,其系統本身的開銷很小,進程調度、進程間通信、中斷處理等系統公用程序精練而有效,它們造成的延遲很短。VxWorks提供的多任務機制中對任務的控制采用了優先級搶占(Preemptive Priority Scheduling)和輪轉調度(Round-Robin Scheduling)機制,也充分保證了可靠的實時性,使同樣的硬件配置能滿足更強的實時性要求,為應用的開發留下更大的余地。
3)可裁減性 用戶在使用操作系統時,并不是操作系統中的每一個部件都要用到。例如圖形顯示、文件系統以及一些設備驅動在某些嵌入式系統中往往并不使用。VxWorks由一個體積很小的內核及一些可以根據需要進行定制的系統模塊組成。VxWorks內核最小為8 kB,即便加上其他必要模塊,所占用的空間也很小,且不失其實時、多任務的系統特征。由于它的高度靈活性,用戶可以很容易地對這一操作系統進行定制或作適當開發,來滿足自己的實際應用需要。
1.2 VxWorks系統結構
VxWorks系統結構如圖1所示,可以從6部分來說明。
1)高性能實時內核(Wind Kernel) VxWorks的核心,一般稱作Wind,Wind使用中斷驅動和基于優先級的調度方式。負責多任務調度、任務間的同步、進程間通信機制、中斷處理、看門狗和內存管理機制。
2)文件系統(File System) VxWorks提供快速文件,它包括幾種支持使用塊設備(如磁盤)的本地文件系統。這些設備都使用一個標準的接口,從而使得文件系統能夠靈活地在設備驅動程序上移植。另外,VxWorks也支持SCSI磁帶設備的本地文件系統。
3)設備驅動(Device Drivers) VxWorks系統提供BSP、Network Driver、SCSI Driver構成硬件抽象層。硬件抽象層是一個介于操作系統和底層硬件之間的軟層次,包括了系統中大部分與硬件相關的軟件模塊。在功能上包含兩部分:系統初始化及與硬件相關的設備驅動。
4)I/O系統(I/O System) VxWorks提供了一個快速靈活的與ANSIC兼容的I/O系統,包括UNIX標準的緩沖I/O和POSIX標準的異步I/O 。
5)網絡堆棧(Network Stack) VxWorks提供了對其他網絡和TCP/IP網絡系統的“透明”訪問,包括與BSD套接字兼容的編程接口,遠程過程調用(RPC),遠程文件訪問以及BOOTP和ARP代理。所有的VxWorks網絡機制都遵循標準的Intemet協議。
6)板級支持包 BSP(Board Support Package)板級支持包向VxWorks操作系統提供了對各種板子的硬件功能操作的統一的軟件接口,它是保證VxWorks操作系統可移植性的關鍵,它包括硬件初始化、中斷的產生和處理、硬件時鐘和計時器管理、局域和總線內存地址映射、內存分配等等。每個板級支持包括一個ROM啟動(Boot ROM)或其他啟動機制。
評論