基于PC104總線的VxWorksBSP設計
1 引言
VxWorks是由美國的WindRiver推出的一種嵌入式強實時操作系統(tǒng),它存在多任務調度的方式,可以管理多個外設,而且它可根據應用程序的需求對操作系統(tǒng)進行裁剪,最大程度的壓縮代碼,實現程序的優(yōu)化。
Intelx86系列處理器的嵌入式應用一般是以PC104的形式出現的,PC104除包括PC/AT的所有標準功能外,它的CPU模塊還有一些獨特的優(yōu)點:開發(fā)周期短、費用低、體積小、層疊連接、功耗小、模塊化、抗沖擊及震動能力強,工作及存儲溫度范圍寬、集成度高,可靠性高。
在PC/104總線設備上使用的數據存儲設備通常有硬盤和基于閃存技術的固態(tài)電子盤。由于嵌入式系統(tǒng)工作環(huán)境一般比較惡劣,硬盤在惡劣的震動條件下無法正常工作,而固態(tài)電子盤的工作范圍很寬,可以選擇相應環(huán)境下的器件(零下40℃到零上85℃),并且體積很小,適合嵌入式應用。本嵌入式系統(tǒng)中數據存儲設備采用了CE公司的CF(CompactFlash)卡,而在此軟硬件平臺上設計開發(fā)了嵌入式實時操作系統(tǒng)VxWorks 的并基于PC104總線的板載支持包。
2 VxWorks板載支持包BSP設計
2.1 基于PC104總線設備的VxWorks操作系統(tǒng)映像開發(fā)
在實時操作系統(tǒng)VxWorks中,硬件抽象層是以板載支持包BSP的形式出現的。針對不同的處理器體系結構以及硬件環(huán)境設計不同的板載支持包,實時操作系統(tǒng)VxWorks就可以用于不同的硬件環(huán)境,大大減少了資源浪費。因為板載支持包同時具有硬件相關性和操作系統(tǒng)相關性,是一個介于硬件與軟件之間的軟件層次,包括了系統(tǒng)中的大部分與硬件相關的軟件模塊。VxWorks板載支持包BSP的設計概念使嵌入式實時操作系統(tǒng) VxWorks成為一個通用的嵌入式軟件開發(fā)包,使得相關的高層的嵌入式應用能夠有效地運行于特定的、應用相關的硬件設備之上,使嵌入式實時操作系統(tǒng) VxWorks的可移植性大大加強。
BSP與VxWorks操作系統(tǒng)的層次結構如下圖1所示:
圖1BSP與VxWorks操作系統(tǒng)的層次結構圖
基于PC104總線設備的VxWorks操作系統(tǒng)映像開發(fā)主要工作有3個方面:
①板載支持包設計與開發(fā)
VxWorks實時操作系統(tǒng)的板載支持包的開發(fā)通常提供一般模板程序,選擇一個相同處理器結構板載支持包進行設計。
②相關外圍硬件設備驅動程序
嵌入式系統(tǒng)是針對某一具體應用場合開發(fā)的專用系統(tǒng),因此常常會使用到一些非標準的硬件設備,而VxWorks操作系統(tǒng)并不提供相關的外設驅動程序,使用時需自行開發(fā)相應的外設驅動程序。
③操作系統(tǒng)映像配置與生成
對VxWorks操作系統(tǒng)各個功能模塊進行配置,使其在滿足功能需求的條件下達到代碼量最小,同時也減少出錯的可能性。
2.2 BSP的基本功能及其啟動過程分析
VxWorks板級支持包BSP在功能上包含兩個部分:初始化和驅動程序支持。BSP提供了VxWorks同硬件環(huán)境的基本接口界面,并在上電時進行硬件初始化(包括中斷向量的初始化、定時器初始化、核心內存映象的加載等),支持VxWorks對硬件驅動的訪問,將 VxWorks中軟件集成到一體,其功能相當于PC機的BIOS。
評論