嵌入式實(shí)時操作系統(tǒng)VxWorks入門(1)
嵌入式實(shí)時操作系統(tǒng)VxWorks入門――開發(fā)環(huán)境構(gòu)建
VxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計開發(fā)的一種嵌入式實(shí)時操作系統(tǒng)(RTOS),它以其良好的可靠性和卓越的實(shí)時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。在美國的 F-16、FA-18 戰(zhàn)斗機(jī)、B-2隱形轟炸機(jī)和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks。VxWorks原先對中國區(qū)禁止銷售,自解禁以來,在我們的軍事、通信、工業(yè)控制等領(lǐng)域得到了非常廣泛的應(yīng)用。
VxWorks的實(shí)時性體現(xiàn)在能于限定的時間內(nèi)執(zhí)行完所規(guī)定的功能,并能在限定的時間內(nèi)對外部的異步事件作出響應(yīng)。因此,實(shí)時性系統(tǒng)主要應(yīng)用于過程控制、數(shù)據(jù)采集、通信、多媒體信息處理等對時間敏感的場合。本文將對這個操作系統(tǒng)進(jìn)行一個入門級的、全面的介紹。為力求展示其全貌,全文共分五章:
(1)搭建VxWorks嵌入式開發(fā)環(huán)境;
(2)簡要介紹VxWorks的基本組成,內(nèi)核的基本結(jié)構(gòu);
(3)概述VxWorks板級支持包(BSP)的概念及VxWorks的啟動過程;
(4)介紹VxWorks設(shè)備驅(qū)動的架構(gòu)及編寫方法;
(5)指明VxWorks應(yīng)用開發(fā)的思路,任務(wù)調(diào)度及任務(wù)同步、中斷與任務(wù)的同步機(jī)制。
以上各章中將貫穿著許多實(shí)例,由于本文定位于入門級教程,所以文中的實(shí)例都將十分簡單。下面我們進(jìn)入第一章內(nèi)容的講解。
如圖1,嵌入式系統(tǒng)的調(diào)試方法一般為通過PC(宿主機(jī))上的集成開發(fā)環(huán)境交叉編譯針對特定電路板(目標(biāo)機(jī))的程序,然后將程序通過目標(biāo)板的JTAG、串口或網(wǎng)口等途徑下載到目標(biāo)板上運(yùn)行。因此,為了構(gòu)造一個嵌入式系統(tǒng)的學(xué)習(xí)環(huán)境,擁有一塊包含CPU、存儲器及I/O電路(構(gòu)造計算機(jī)系統(tǒng))的目標(biāo)電路板往往是必要的。雖然許多集成開發(fā)環(huán)境附帶模擬軟件,但僅限于指令集的模擬,均無法模擬物理的目標(biāo)機(jī)硬件平臺,因而在其上只能進(jìn)行應(yīng)用程序的象征性模擬開發(fā)。但是,并非所有人都能擁有一塊物理的電路板。在這種情況下,我們?nèi)绾螛?gòu)造一個模擬的開發(fā)環(huán)境,其學(xué)習(xí)效果就如同擁有完全真實(shí)的電路板一樣呢?本文試圖解答此問題,主體內(nèi)容包括四個方面:
(1) 利用VMware等軟件模擬真實(shí)的目標(biāo)機(jī);
(2) 構(gòu)建VMware虛擬PC上VxWorks BSP,建立Bootrom和OS映像;
(3) 修改Tornado相關(guān)設(shè)置,連接宿主機(jī)與目標(biāo)機(jī),建立調(diào)試通道;
(4) 寫一個簡單的應(yīng)用程序并下載到目標(biāo)系統(tǒng)運(yùn)行。
圖1 嵌入式系統(tǒng)的調(diào)試
本章工作的最終目標(biāo)為:
(1)VxWorks在VMware啟動成功并順利運(yùn)行,如圖2;
圖2 在VMware中運(yùn)行的VxWorks
(2)可在Tornado上針對目標(biāo)板編譯程序并進(jìn)行調(diào)試,如圖3。
圖3 與目標(biāo)機(jī)建立調(diào)試通道的Tornado
1. 模擬目標(biāo)機(jī)
PC也具有目標(biāo)機(jī)的所有特點(diǎn),實(shí)際上,我們可以把PC作為嵌入式系統(tǒng)的目標(biāo)機(jī),從而構(gòu)造如圖4所示的開發(fā)模型:
圖4 PC作為目標(biāo)機(jī)
很遺憾,這種方法實(shí)際上非常麻煩,同時開動兩臺PC進(jìn)行調(diào)試將使你和你的室友飽受折磨,既然他如此地?zé)崆杏谟螒蚝蜕暇W(wǎng)。因此,我們可以借助VMware來在本機(jī)上虛擬出另一PC。
VMware的確是天才的作品!在同一PC上,利用VMware幾乎可以安裝所有的操作系統(tǒng),而且操作系統(tǒng)之間的切換不需要重新啟動電腦。VM的意義是Virtual Machine,即虛擬出一個邏輯的電腦,它可以提供基于Intel CPU的虛擬PC系統(tǒng)環(huán)境,包括CPU、內(nèi)存、BIOS、硬盤和其他外圍硬件設(shè)備。
下面我們講解用VMware來建立一臺虛擬PC的步驟:
(1)下載并安裝VMware;
(2)使用VMware向?qū)Ы⒁粋€針對VxWorks的虛擬機(jī);
此步驟中注意在操作系統(tǒng)中選擇“other”,如圖5:
由于目標(biāo)機(jī)最終通過軟盤啟動,因此要求你的電腦具有軟驅(qū)。很遺憾,當(dāng)年日常使用的軟盤如今成了古董,很少再有電腦配備軟驅(qū)。因此,我們再來制造一個假冒偽劣產(chǎn)品,虛擬一個軟驅(qū)。又一個天才的工具軟件RamDiskNT為我們提供了這一便利,圖6演示了用RamDiskNT虛擬一個1.44M軟盤的方法。
僅僅虛擬一個軟驅(qū)是不夠的,把這個軟驅(qū)添加到我們建立的虛擬機(jī)中才算修成正果,圖7演示了添加軟驅(qū)后的虛擬機(jī)硬件設(shè)置。
圖7 包含軟驅(qū)的虛擬機(jī)
評論