1. 概述
VxWorks 是美國 Wind River System 公司( 以下簡稱風(fēng)河 公司 ,即 WRS 公司)推出的一個實時操作系統(tǒng)。WRS 公司 組建于1981年,是一個專門從事實時操作系統(tǒng)開發(fā)與生產(chǎn)的軟件公司,該公司在實時操作系統(tǒng)領(lǐng)域被世界公認(rèn)為是最具有領(lǐng)導(dǎo)作用的公司。
VxWorks 是一個運行在目標(biāo)機上的高性能、可裁減的嵌入式實時操作系統(tǒng)。它以其良好的可靠性和卓越的實時性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機導(dǎo)航等。在美國的 F-16、FA-18 戰(zhàn)斗機、B-2 隱形轟炸機和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks。
1984年 WRS 公司推出它的第一個版本--VxWorks 1.0.1,在 1999年推出了它的最新版本VxWorks 5.4。從1995年以后, WRS 公司推出了一套實時操作系統(tǒng)開發(fā)環(huán)境-- Tornado。
1.1 Tornado2.0 組件
Tornado是嵌入式實時領(lǐng)域里最新一代的開發(fā)調(diào)試環(huán)境。Tornado給嵌入式系統(tǒng)開發(fā)人員提供了一個不受目標(biāo)機資源限制的超級開發(fā)和調(diào)試環(huán)境。Tornado包含三個高度集成的部分:
. 運行在宿主機和目標(biāo)機上的強有力的交叉開發(fā)工具和實用程序;
. 運行在目標(biāo)機上的高性能、可裁剪的實時操作系統(tǒng)VxWorks;
. 連接宿主機和目標(biāo)機的多 種通訊方式,如:以太網(wǎng),串口線,ICE或ROM仿真器等。
對于不同的目標(biāo)機,Tornado給開發(fā)者提供一個一致的圖形接口和人機界面。當(dāng)使用Tornado的開發(fā)人員轉(zhuǎn)向新的目標(biāo)機時,不必再花費時間學(xué)習(xí)或適應(yīng)新的工具;對深嵌入式應(yīng)用開發(fā)者來說更重要的是,Tornado所有的工具都是駐留在開發(fā)平臺上的。在嵌入式系統(tǒng) 工具發(fā)展歷史上,Tornado是第一個實現(xiàn)了當(dāng)目標(biāo)機資源有限時開發(fā)工具仍可使用而且功能齊全的開發(fā)環(huán)境。另外,所有工具都通過一個中央服務(wù)器(Target Server)處理與目標(biāo)機的通訊。所以無論連結(jié)方式是Ethernet,還是串口線、ICE仿真器、ROM仿真器或客戶設(shè)計的調(diào)試通道,所有工具均可使用。
1.1.1 實時系統(tǒng)
特點:
l 實時,能滿足嚴(yán)格的時間要求;
l 多任務(wù)內(nèi)核:
實時調(diào)度(基于優(yōu)先級或搶占式的);
任務(wù)間通訊;
互斥;
l 其他標(biāo)準(zhǔn)設(shè)備作為庫的形式支持內(nèi)核;
l 系統(tǒng)可重新配置,根據(jù)需要裁減組件,空間小;
l 所有任務(wù)駐留在同一地址空間(任務(wù)間通訊快而容易,上下文切換快,但一個任務(wù)崩潰會影響別的任務(wù));
l 所有任務(wù)運行在超級(supervisor)模式(沒有哪個系統(tǒng)調(diào)用具有壓倒一切的優(yōu)勢,所有的設(shè)備都作為普通子程序調(diào)用);
l 在主機上編寫代碼和編譯;在目標(biāo)機上進(jìn)行調(diào)試和執(zhí)行;
1.1.2 tornado 開發(fā)工具
l CrossWind:
源程序(C 或 C++ 以及匯編程序等)的調(diào)試工具。 CrossWind結(jié)合了圖形方式和命令行方式的最大特點。 最普通的調(diào)試方式,例如斷點設(shè)置和程序執(zhí)行控制,可 以通過便捷的點擊方式實現(xiàn)。同樣,程序顯示框和數(shù) 據(jù)偵察窗也提供了一個直接的可視窗口來觀察應(yīng)用程 序中最關(guān)鍵的一部分。如果需要更復(fù)雜的調(diào)試,CrossWind 也提供了命令行的方式來調(diào)用它提供的各種命令。
l Browser:
可對系統(tǒng)對象(任務(wù)、消息隊列、信號量等)和存儲 器使用情況進(jìn)行觀察的瀏覽器。可以方便地監(jiān)視用戶的 目標(biāo)系統(tǒng)。Browser匯總了應(yīng)用進(jìn)程,內(nèi)存消耗和一個目 標(biāo)內(nèi)存的映射。通過 Browser,用戶可以觀察信號量、 消息隊列、內(nèi)存分配、看門狗計時器、堆棧使用情況、 目標(biāo) CPU使用率、對象模塊結(jié)構(gòu)和符號表以及每個任務(wù)的詳細(xì)信息。
l WindSh:
提供從宿主機到目標(biāo)機之間的一個命令 shell。WindSh 是一種非常受歡迎的開發(fā)工具,它具有很強的交互性和可操作性,允許用戶調(diào)用內(nèi)存中的應(yīng)用程序模塊或是 VxWorks模塊中的任何例程。它不但具有一般命令語言的功能,而且也具有 C 語言的設(shè)計特點,能夠解釋幾乎任何 C 語言表達(dá)式, 執(zhí)行大多數(shù) C 語言算子,解析符號表數(shù)據(jù)。對初用者來說,WindSh學(xué)習(xí)起來比較簡單,使用比較方便,對熟練用戶而言,則有較為高級的手段可以應(yīng)用。
l WindView:
非常出色的系統(tǒng)可視診斷和分析工具。可非常容易地觀察各任務(wù),中斷程序之間的相互作用。它是在嵌入式系統(tǒng)應(yīng)用開發(fā)期間的可視工具。
l VxSim:
快速原型仿真器。可在硬件設(shè)備未完成之前,在宿主機上對應(yīng)用程序進(jìn)行仿真分析。
l Project Facility:
工程管理工具,配制應(yīng)用程序或vxworks本身。