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