国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VxWorks的嵌入式計算機系統(tǒng)的設(shè)計與實現(xiàn)

2014-07-24 14:47:39徐松林馮英
無線互聯(lián)科技 2014年5期

徐松林 馮英

摘 要:文章在對嵌入式計算機系統(tǒng)概述的基礎(chǔ)上,分析了VxWorks操作系統(tǒng)的突出特點,并通過對硬件驅(qū)動的開發(fā)、應(yīng)用層的開發(fā)以及應(yīng)用軟件的維護等幾個嵌入式系統(tǒng)需要注意的方面進行詳細闡述。

關(guān)鍵詞:VxWorks操作系統(tǒng);嵌入式計算機系統(tǒng);Tornado開發(fā)環(huán)境

1 引言

嵌入式系統(tǒng)是指以計算機的應(yīng)用為目標(biāo),以計算機技術(shù)、電子技術(shù)以及半導(dǎo)體技術(shù)等技術(shù)為支撐,對系統(tǒng)的功能、可靠性、成本、體積、功耗等有嚴(yán)格要求的一種計算機系統(tǒng)[1]。嵌入式計算機系統(tǒng)本質(zhì)是為了實現(xiàn)某個特定的應(yīng)用功能而將計算機科學(xué)、電子科學(xué)、半導(dǎo)體技術(shù)等科學(xué)技術(shù)相結(jié)合,嵌入式計算機系統(tǒng)具有系統(tǒng)內(nèi)核小、功能特定、對技術(shù)要求較高、實時性較高、創(chuàng)新性較高、系統(tǒng)較精簡等特點。經(jīng)過幾十年的發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用在工業(yè)工程、航空、船舶、汽車、軍事設(shè)備以及通信等領(lǐng)域。對一個嵌入式系統(tǒng)而言,嵌入式系統(tǒng)采用的實時多任務(wù)操作系統(tǒng)很大程度上決定了該系統(tǒng)的可靠性,一些常用的嵌入式計算機操作系統(tǒng)[2]主要有VxWorks操作系統(tǒng)、QNX操作系統(tǒng)、Linux操作系統(tǒng)、PSOS操作系統(tǒng)、Plus操作系統(tǒng)以及Nucleus操作系統(tǒng)等,由于VxWorks具有較為突出的優(yōu)點,因此本文操作系統(tǒng)主要采用美國Windriver公司開發(fā)的VxWorks嵌入式操作系統(tǒng),系統(tǒng)的硬件平臺主要以386EX CPU為核心,該CPU除了包含定時器等常規(guī)的接口之外還包含了一個軍用的可靠性較高的外部接口。

2 VxWorks嵌入式操作系統(tǒng)的主要優(yōu)勢

美國Windriver公司的VxWorks操作系統(tǒng)是一個較為優(yōu)秀可靠的操作系統(tǒng),已經(jīng)經(jīng)過了幾十年的不斷改進和發(fā)展,其在嵌入式系統(tǒng)方面的突出優(yōu)勢主要可以概括為以下幾個方面:⑴支持較多的工業(yè)標(biāo)準(zhǔn),如ANSIC和TCP/IP網(wǎng)絡(luò)協(xié)議等,它可以為主機和分機之間提供一種無縫連接的工作環(huán)境。⑵內(nèi)核較小,VxWorks的微內(nèi)核設(shè)計使其降低系統(tǒng)消耗的內(nèi)存并加速對外部指令的反應(yīng)和處理。⑶接口資源豐富,VxWorks的有著數(shù)量巨大的接口資源和豐富的第三方產(chǎn)品為其廣泛應(yīng)用奠定了堅實的基礎(chǔ)。⑷高可移植性,VxWorks支持POWERPC CPU、X86 CPU、MIPS CPU以及ARM CPU等幾乎現(xiàn)有的全部CPU系列,其可適應(yīng)于較多種類的硬件平臺。⑸Tornado開發(fā)環(huán)境[2],VxWorks的Tornado開發(fā)環(huán)境是嵌入式最新一代的特別優(yōu)秀的開發(fā)環(huán)境。

3 基于VxWorks的嵌入式計算機系統(tǒng)的開發(fā)設(shè)計

嵌入式計算機系統(tǒng)是整個嵌入式系統(tǒng)的核心,由硬件驅(qū)動層、中間件層、操作系統(tǒng)層和應(yīng)用層四大部分組成。在設(shè)計嵌入式計算機系統(tǒng)時,一般主要對硬件驅(qū)動層和應(yīng)用層進行開發(fā)設(shè)計,同時,還需要注意所設(shè)計的嵌入式計算機系統(tǒng)的可維護性,因此本部分主要介紹硬件驅(qū)動的開發(fā)、應(yīng)用層的開發(fā)以及應(yīng)用軟件的維護三部分內(nèi)容。

3.1 驅(qū)動層的開發(fā)

VxWorks系統(tǒng)的硬件驅(qū)動層的開發(fā)主要包括BSP的設(shè)計、通用接口的設(shè)計和專用接口的設(shè)計等三個方面的設(shè)計。VxWorks系統(tǒng)的BSP兼容性較好,主要負(fù)責(zé)對硬件在上電時初始化,是VxWorks用來對硬件驅(qū)動進行訪問。BSP文件包主要包含:源文件,頭文件,make文件以及導(dǎo)出文件和驅(qū)動模塊。

通用標(biāo)準(zhǔn)接口的驅(qū)動函數(shù)一般是系統(tǒng)庫自帶的,正常情況下是不需要進行設(shè)置的,但是有時存在通用借口的驅(qū)動參數(shù)與使用的硬件環(huán)境不兼容,這時就必須通過使用ar-d命令將不兼容模塊從文件庫中刪掉,再將所使用的硬件驅(qū)動源程序進行復(fù)制,在Makefile中利用MACH_EXTRA指令將硬件導(dǎo)入到最終的VxWorks映像文件中。在硬件中如果使用了專用接口,這時則需要對專用接口進行自行編制驅(qū)動程序。編制程序之后,需要在在Makefile中利用MACH_EXTRA指令將專用設(shè)備模塊導(dǎo)入到最終的VxWorks映像文件中。

3.2 應(yīng)用層的開發(fā)

Tornado開發(fā)環(huán)境是VxWorks 操作系統(tǒng)的應(yīng)用開發(fā)環(huán)境,因此應(yīng)用程序的開發(fā)主要的Tornado環(huán)境中進行完成[4]。開發(fā)應(yīng)用程序會因為所應(yīng)用的場合有差異而有較大的不同,在Tornado環(huán)境開發(fā)時主要需要注意對任務(wù)進行劃分、確定任務(wù)的優(yōu)先級以及多個任務(wù)之間進行通訊等問題。例如:應(yīng)該賦予系統(tǒng)中對實時性、運行頻率等有要求的軟件應(yīng)用較高的優(yōu)先級;復(fù)雜任務(wù)可能會溢出堆棧,因此在調(diào)試軟件時,應(yīng)測試堆棧空間的剩余量。

3.3 應(yīng)用軟件的維護

嵌入式計算機系統(tǒng)的軟件很多是在ROM中固化,因此對應(yīng)用軟件的維護有時較為困難。本文此處主要介紹在VxWorks操作系統(tǒng)中的對軟件進行現(xiàn)場維護的實現(xiàn)方式。

眾所周知,Tornado環(huán)境一般可以為嵌入式操作系統(tǒng)提供源文件[5],在使用TrueFFS文件系統(tǒng)時,需要對sysTffs.c文件和xxxMTD.c文件進行更新。在文件系統(tǒng)構(gòu)建以后,可以導(dǎo)入TrueFFS文件系統(tǒng)的宏定義到Config.n中。

當(dāng)軟件需要在軌維護,可以通過特定的外部接口把所需要更新的新代碼導(dǎo)入至目標(biāo)機,利用新代碼來替代舊的文件代碼,最后在重新啟動系統(tǒng)之后會對軟件進行自動更新。如果當(dāng)系統(tǒng)應(yīng)用軟件的配置發(fā)生了變化之后,則要求用戶對系統(tǒng)應(yīng)用軟件進行更新和維護,TrueFFS文件系統(tǒng)中的MTDS模塊可以為系統(tǒng)應(yīng)用軟件的維護提供接口。

[參考文獻]

[1]VxWorks與嵌入式軟件開發(fā)[M].機械工業(yè)出版社,2003.

[2]Barbalace A,Luchetta A,Manduchi G,et al.Performance comparison of VxWorks,Linux, RTAI and Xenomai in a hard real-time application[C].Real-Time Conference,2007 15th IEEE-NPSS.IEEE,2007:1-5.

[3]祥營,桂枝,柏.嵌入式實時操作系統(tǒng)VxWorks及其開發(fā)環(huán)境Tornado[M].中國電力出版社,2002.

[4]王才善,陳光武,曠文珍,等.基于VxWorks的實時多任務(wù)程序設(shè)計機制分析[J].鐵路計算機應(yīng)用, 2009(5):12-15.

[5]戴婭,何亦征,白英彩.基于VxWorks多任務(wù)的無線接收機系統(tǒng)設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件, 2007,24(9):159-161.

镇雄县| 集安市| 德格县| 江陵县| 尤溪县| 阿克陶县| 赤峰市| 伽师县| 开阳县| 沙湾县| 慈溪市| 崇仁县| 遵义市| 彭水| 分宜县| 桐梓县| 台湾省| 黔南| 姚安县| 渝中区| 聂荣县| 南川市| 徐汇区| 黔南| 巨野县| 沈阳市| 宾川县| 无棣县| 庄河市| 万盛区| 五大连池市| 中牟县| 江达县| 三门县| 隆昌县| 新河县| 栾川县| 封开县| 彭山县| 安宁市| 佛冈县|