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