新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks入門(1)

嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks入門(1)

——
作者: 時(shí)間:2007-02-28 來源:天極網(wǎng) 收藏

嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks入門――開發(fā)環(huán)境構(gòu)建

  VxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。在美國(guó)的 F-16、FA-18 戰(zhàn)斗機(jī)、B-2隱形轟炸機(jī)和愛國(guó)者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測(cè)器上也使用到了VxWorks。VxWorks原先對(duì)中國(guó)區(qū)禁止銷售,自解禁以來,在我們的軍事、通信、工業(yè)控制等領(lǐng)域得到了非常廣泛的應(yīng)用。

  VxWorks的實(shí)時(shí)性體現(xiàn)在能于限定的時(shí)間內(nèi)執(zhí)行完所規(guī)定的功能,并能在限定的時(shí)間內(nèi)對(duì)外部的異步事件作出響應(yīng)。因此,實(shí)時(shí)性系統(tǒng)主要應(yīng)用于過程控制、數(shù)據(jù)采集、通信、多媒體信息處理等對(duì)時(shí)間敏感的場(chǎng)合。本文將對(duì)這個(gè)操作系統(tǒng)進(jìn)行一個(gè)入門級(jí)的、全面的介紹。為力求展示其全貌,全文共分五章:

  (1)搭建VxWorks嵌入式開發(fā)環(huán)境;

  (2)簡(jiǎn)要介紹VxWorks的基本組成,內(nèi)核的基本結(jié)構(gòu);

  (3)概述VxWorks板級(jí)支持包(BSP)的概念及VxWorks的啟動(dòng)過程;

  (4)介紹VxWorks設(shè)備驅(qū)動(dòng)的架構(gòu)及編寫方法;

  (5)指明VxWorks應(yīng)用開發(fā)的思路,任務(wù)調(diào)度及任務(wù)同步、中斷與任務(wù)的同步機(jī)制。

  以上各章中將貫穿著許多實(shí)例,由于本文定位于入門級(jí)教程,所以文中的實(shí)例都將十分簡(jiǎn)單。下面我們進(jìn)入第一章內(nèi)容的講解。

  如圖1,嵌入式系統(tǒng)的調(diào)試方法一般為通過PC(宿主機(jī))上的集成開發(fā)環(huán)境交叉編譯針對(duì)特定電路板(目標(biāo)機(jī))的程序,然后將程序通過目標(biāo)板的JTAG、串口或網(wǎng)口等途徑下載到目標(biāo)板上運(yùn)行。因此,為了構(gòu)造一個(gè)嵌入式系統(tǒng)的學(xué)習(xí)環(huán)境,擁有一塊包含CPU、存儲(chǔ)器及I/O電路(構(gòu)造計(jì)算機(jī)系統(tǒng))的目標(biāo)電路板往往是必要的。雖然許多集成開發(fā)環(huán)境附帶模擬軟件,但僅限于指令集的模擬,均無法模擬物理的目標(biāo)機(jī)硬件平臺(tái),因而在其上只能進(jìn)行應(yīng)用程序的象征性模擬開發(fā)。但是,并非所有人都能擁有一塊物理的電路板。在這種情況下,我們?nèi)绾螛?gòu)造一個(gè)模擬的開發(fā)環(huán)境,其學(xué)習(xí)效果就如同擁有完全真實(shí)的電路板一樣呢?本文試圖解答此問題,主體內(nèi)容包括四個(gè)方面:

  (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) 寫一個(gè)簡(jiǎn)單的應(yīng)用程序并下載到目標(biāo)系統(tǒng)運(yùn)行。

  

  圖1 嵌入式系統(tǒng)的調(diào)試

  本章工作的最終目標(biāo)為:

  (1)VxWorks在VMware啟動(dòng)成功并順利運(yùn)行,如圖2;

  點(diǎn)擊放大此圖片

圖2 在VMware中運(yùn)行的VxWorks

(2)可在Tornado上針對(duì)目標(biāo)板編譯程序并進(jìn)行調(diào)試,如圖3。

  點(diǎn)擊放大此圖片

圖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í)際上非常麻煩,同時(shí)開動(dòng)兩臺(tái)PC進(jìn)行調(diào)試將使你和你的室友飽受折磨,既然他如此地?zé)崆杏谟螒蚝蜕暇W(wǎng)。因此,我們可以借助VMware來在本機(jī)上虛擬出另一PC。

  VMware的確是天才的作品!在同一PC上,利用VMware幾乎可以安裝所有的操作系統(tǒng),而且操作系統(tǒng)之間的切換不需要重新啟動(dòng)電腦。VM的意義是Virtual Machine,即虛擬出一個(gè)邏輯的電腦,它可以提供基于Intel CPU的虛擬PC系統(tǒng)環(huán)境,包括CPU、內(nèi)存、BIOS、硬盤和其他外圍硬件設(shè)備。

  下面我們講解用VMware來建立一臺(tái)虛擬PC的步驟:

  (1)下載并安裝VMware;

  (2)使用VMware向?qū)Ы⒁粋€(gè)針對(duì)VxWorks的虛擬機(jī);

  此步驟中注意在操作系統(tǒng)中選擇“other”,如圖5:

  

  由于目標(biāo)機(jī)最終通過軟盤啟動(dòng),因此要求你的電腦具有軟驅(qū)。很遺憾,當(dāng)年日常使用的軟盤如今成了古董,很少再有電腦配備軟驅(qū)。因此,我們?cè)賮碇圃煲粋€(gè)假冒偽劣產(chǎn)品,虛擬一個(gè)軟驅(qū)。又一個(gè)天才的工具軟件RamDiskNT為我們提供了這一便利,圖6演示了用RamDiskNT虛擬一個(gè)1.44M軟盤的方法。

  

  僅僅虛擬一個(gè)軟驅(qū)是不夠的,把這個(gè)軟驅(qū)添加到我們建立的虛擬機(jī)中才算修成正果,圖7演示了添加軟驅(qū)后的虛擬機(jī)硬件設(shè)置。

  點(diǎn)擊放大此圖片

圖7 包含軟驅(qū)的虛擬機(jī)



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉