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