從Tornado到Workbench新一代嵌入式軟件集成開(kāi)發(fā)環(huán)境
從Tornado到Workbench
——風(fēng)河公司的新一代嵌入式軟件集成開(kāi)發(fā)環(huán)境
康宇峰 風(fēng)河公司應(yīng)用工程師
1.嵌入式系統(tǒng)開(kāi)發(fā)所面臨的問(wèn)題
嵌入式軟件開(kāi)發(fā)有別于桌面軟件系統(tǒng)開(kāi)發(fā)的一個(gè)顯著的特點(diǎn)是它一般需要一個(gè)交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在主機(jī)上進(jìn)行(如在PC機(jī)的Windows操作系統(tǒng)下),編譯好的軟件需要下載到目標(biāo)機(jī)上運(yùn)行(如在一個(gè)PPC的目標(biāo)機(jī)上的VxWorks操作系統(tǒng)下),主機(jī)和目標(biāo)機(jī)建立起通訊連接,并傳輸調(diào)試命令和數(shù)據(jù)。由于主機(jī)和目標(biāo)機(jī)往往運(yùn)行著不同的操作系統(tǒng),而且處理器的體系結(jié)構(gòu)也彼此不同,這就提高了嵌入式開(kāi)發(fā)的復(fù)雜性。
總的來(lái)說(shuō),嵌入式開(kāi)發(fā)所面臨的問(wèn)題主要表現(xiàn)在以下幾個(gè)方面:
涉及多種CPU及多種OS
嵌入式的CPU或處理器可謂多種多樣,這包括了PENTIUM、MIPS、PPC、ARM,XSCALE等,而且應(yīng)用都很廣,在其上運(yùn)行的操作系統(tǒng)也有不少,如VxWorks, Linux, Nuclears,WinCE等等,即使在一個(gè)公司之內(nèi),也會(huì)同時(shí)使用好幾種處理器,甚至幾種嵌入式操作系統(tǒng)。如果需要同時(shí)調(diào)試多種類(lèi)型的板子,每個(gè)扳子上又運(yùn)行著多個(gè)任務(wù)或進(jìn)程,那復(fù)雜性是可想而知的。
開(kāi)發(fā)工具種類(lèi)繁多
不僅各種操作系統(tǒng)有各自的開(kāi)發(fā)工具,在同一系統(tǒng)下開(kāi)發(fā)的不同階段也有不同的開(kāi)發(fā)工具。如在用戶(hù)的目標(biāo)板開(kāi)發(fā)初期,需要硬件仿真器來(lái)調(diào)試硬件系統(tǒng)和基本的驅(qū)動(dòng)程序,在調(diào)試應(yīng)用程序階段可以使用交互式的開(kāi)發(fā)環(huán)境進(jìn)行軟件調(diào)試,在測(cè)試階段需要一些專(zhuān)門(mén)的測(cè)試工具軟件進(jìn)行功能和性能的測(cè)試,在生產(chǎn)階段需要固化程序及出廠檢測(cè)等等。一般每一種工具都要從不同的供應(yīng)商處購(gòu)買(mǎi),都要單獨(dú)去學(xué)習(xí)和掌握,這無(wú)疑增加了整個(gè)公司的支出和管理的難度。
對(duì)目標(biāo)系統(tǒng)的觀察和控制
由于嵌入式硬件系統(tǒng)千差萬(wàn)別,軟件模塊和系統(tǒng)資源也多種多樣,要使系統(tǒng)能正常工作,軟件開(kāi)發(fā)者必須要對(duì)目標(biāo)系統(tǒng)具有完全的觀察和控制能力,例如硬件的各種寄存器、內(nèi)存空間,操作系統(tǒng)的信號(hào)量、消息隊(duì)列、任務(wù)、堆棧等。
此外,嵌入式系統(tǒng)變化更新比較快,對(duì)開(kāi)發(fā)時(shí)間要求比較緊,尤其是消費(fèi)類(lèi)產(chǎn)品更是如此,如果有一套功能強(qiáng)大的嵌入式軟件集成開(kāi)發(fā)工具可以滿(mǎn)足嵌入式軟件開(kāi)發(fā)各個(gè)階段的需求,同時(shí)又使用方便,界面友好,那是最理想不過(guò)了。美國(guó)風(fēng)河系統(tǒng)公司(以下簡(jiǎn)稱(chēng)為“風(fēng)河公司”)新近推出的“Workbench”嵌入式軟件開(kāi)發(fā)平臺(tái)正是這樣一個(gè)“全能選手”。
2.Workbench嵌入式開(kāi)發(fā)平臺(tái)的特點(diǎn)和優(yōu)勢(shì)
風(fēng)河公司一直致力于嵌入式軟件領(lǐng)域的研究,其歷史悠久的Tornado開(kāi)發(fā)環(huán)境和VxWorks嵌入式操作系統(tǒng)產(chǎn)品在嵌入式領(lǐng)域中應(yīng)用非常廣泛,尤以其業(yè)界領(lǐng)先的強(qiáng)實(shí)時(shí)性和穩(wěn)定性而著稱(chēng)于世。風(fēng)河公司的新一代Workbench開(kāi)發(fā)平臺(tái)繼承了其原有的Tornado集成開(kāi)發(fā)平臺(tái)的一貫優(yōu)勢(shì),并且功能更加強(qiáng)大,由于新采用了先進(jìn)的Eclipse軟件框架結(jié)構(gòu),從而使整個(gè)系統(tǒng)更加開(kāi)放和易于擴(kuò)展。它的主要優(yōu)勢(shì)表現(xiàn)在:
以開(kāi)放的Eclipse平臺(tái)為框架,調(diào)試環(huán)境可充分進(jìn)行客戶(hù)化定制
Eclipse軟件框架結(jié)構(gòu)是一個(gè)完整和開(kāi)放的基礎(chǔ)平臺(tái),它能夠?qū)D形工具以及任何必須的功能通過(guò)標(biāo)準(zhǔn)的接口集成到同一個(gè)開(kāi)發(fā)環(huán)境中。目前IBM,HP及Borland等商業(yè)開(kāi)發(fā)工具提供商均支持Eclipse開(kāi)發(fā)平臺(tái),網(wǎng)上也存在著大量的為Eclipse平臺(tái)開(kāi)發(fā)插件的社區(qū)。由于Workbench符合Eclipse框架,所以這些商用的和免費(fèi)的符合Eclipse平臺(tái)接口的插件均可以集成到Workbench開(kāi)發(fā)環(huán)境中,這極大擴(kuò)展了Workbench的功能。例如,如果用戶(hù)想使用自己熟悉的配置管理工具或者編輯器,就可以找到這樣一個(gè)插件并集成進(jìn)來(lái),這樣用戶(hù)就會(huì)感到開(kāi)發(fā)過(guò)程非常適合自己的需要。
不僅如此,風(fēng)河公司還對(duì)Eclipse做了多方面的增強(qiáng),從而顯著提高了系統(tǒng)的性能。例如Workbench實(shí)現(xiàn)了異步接口功能,需要長(zhǎng)時(shí)間運(yùn)行的任務(wù)可以在后臺(tái)運(yùn)行,與此同時(shí)還能繼續(xù)接收開(kāi)發(fā)人員的調(diào)試請(qǐng)求,這樣不至于使開(kāi)發(fā)人員做長(zhǎng)時(shí)間的等待;另外,Workbench還優(yōu)化了對(duì)目標(biāo)機(jī)數(shù)據(jù)的請(qǐng)求機(jī)制,即系統(tǒng)只檢索在集成開(kāi)發(fā)環(huán)境的當(dāng)前視圖中所需要的少量數(shù)據(jù),看不見(jiàn)的數(shù)據(jù)則不向目標(biāo)機(jī)索取,這樣就大大提高了交叉調(diào)試時(shí)系統(tǒng)的響應(yīng)速度并減少了系統(tǒng)負(fù)荷。
單一的全功能平臺(tái),涉及到產(chǎn)品的整個(gè)開(kāi)發(fā)周期
一個(gè)嵌入式產(chǎn)品的軟件開(kāi)發(fā),其“實(shí)質(zhì)性”的過(guò)程包括了從開(kāi)始的硬件啟動(dòng),BSP(板級(jí)支持包)及驅(qū)動(dòng)的開(kāi)發(fā),到應(yīng)用程序的開(kāi)發(fā),再到后來(lái)的測(cè)試、驗(yàn)證,直至最后的生產(chǎn)階段。一般來(lái)說(shuō),每個(gè)階段都可以找到不同的工具來(lái)使用(實(shí)際情況也大都如此)。而風(fēng)河公司的Workbench開(kāi)發(fā)平臺(tái)改變了這一現(xiàn)狀,它以一個(gè)單一的Workbench平臺(tái),提供了上述開(kāi)發(fā)階段所需要的幾乎所有功能。具體來(lái)說(shuō),這包括了硬件系統(tǒng)仿真功能(有配套的硬件仿真器),工程管理和構(gòu)建系統(tǒng),編輯器,版本管理,命令解釋器,調(diào)試工具,系統(tǒng)分析工具,系統(tǒng)觀察工具,F(xiàn)LASH編程工具等等,再加上風(fēng)河公司自己開(kāi)發(fā)的和第三方廠家提供的各種軟件功能模塊和開(kāi)發(fā)工具的插件,所有這一切,都集成在Workbench這個(gè)統(tǒng)一的平臺(tái)之下,這必將大大改善嵌入式軟件的開(kāi)發(fā)環(huán)境。對(duì)一個(gè)企業(yè)來(lái)講,更可以提高效率,減少投資,簡(jiǎn)化管理。嵌入式軟件開(kāi)發(fā)的各個(gè)階段以及Workbench在各個(gè)階段提供的功能如圖2所示。
廣泛的適用性,特別適合復(fù)雜的目標(biāo)系統(tǒng)
Workbench平臺(tái)的廣泛適用性主要體現(xiàn)在七“多”上,即多任務(wù)、多目標(biāo)、多模式、多OS、多CPU、多連接形式、多主機(jī)環(huán)境。
多任務(wù):在Workbench調(diào)試環(huán)境下,可以同時(shí)連接目標(biāo)系統(tǒng)上的多個(gè)不同的任務(wù)(或者進(jìn)程),每個(gè)任務(wù)都可以單獨(dú)設(shè)置斷點(diǎn),進(jìn)行單步調(diào)試。開(kāi)發(fā)者再也不用象以前那樣,為了調(diào)試多個(gè)任務(wù),先斷開(kāi)一個(gè)任務(wù)的連接,再連接到另外一個(gè)任務(wù)上去。這就給具有多任務(wù)的目標(biāo)系統(tǒng)開(kāi)發(fā)提供了便利,尤其是需要查看多個(gè)任務(wù)之間的配合關(guān)系時(shí)體現(xiàn)的優(yōu)勢(shì)更加明顯;
多CPU:我們知道,風(fēng)河公司的Tornado開(kāi)發(fā)環(huán)境可以說(shuō)已經(jīng)支持了全系列的主流CPU(或處理器),而Workbench也將繼承這個(gè)傳統(tǒng),目前推出的Workbench 2.2版本已經(jīng)可以支持PENTIUM、PPC、MIPS系列的所有主流CPU。對(duì)ARM、XSCALE、SH等系列的支持正在移植和測(cè)試中,不久即將發(fā)布正式版本(Workbench 2.3)。
多OS:目前的Workbench 2.2不僅支持VxWorks嵌入式操作系統(tǒng)(6.0以上版本),而且支持Linux操作系統(tǒng),這確實(shí)給廣大的Linux嵌入式開(kāi)發(fā)人員帶來(lái)了福音。大家知道,由于Linux操作系統(tǒng)的“免費(fèi)”性質(zhì),使得其上的軟件開(kāi)發(fā)系統(tǒng)一直比較分散和孤立,用起來(lái)不是特別方便,有了Workbench以后,嵌入式Linux的開(kāi)發(fā)就同VxWorks的開(kāi)發(fā)一樣方便和快捷了。并且以后,如果有必要的話,還可以增加對(duì)其它類(lèi)型嵌入式操作系統(tǒng)的支持,因?yàn)閃orkbench本身是開(kāi)放和可擴(kuò)展的。
多目標(biāo):Workbench對(duì)復(fù)雜目標(biāo)系統(tǒng)的強(qiáng)有力的支持還表現(xiàn)在它可以支持同時(shí)連接多塊目標(biāo)板進(jìn)行調(diào)試開(kāi)發(fā),更為可貴的是這些目標(biāo)板上處理器可以各不相同,并且在目標(biāo)板上運(yùn)行的操作系統(tǒng)也可任意(既可以運(yùn)行VxWorks,也可以運(yùn)行Linux),而調(diào)試工作都可以在同一個(gè)Workbench界面中同時(shí)進(jìn)行,這無(wú)疑給一些復(fù)雜系統(tǒng)的調(diào)試帶來(lái)了極大的便利。
多連接:所謂多連接,是指Workbench所在的主機(jī)和目標(biāo)機(jī)之間可以有多種連接方式進(jìn)行通訊,如果目標(biāo)系統(tǒng)中存在以太網(wǎng)接口,那就應(yīng)該首選以太網(wǎng)連接,因?yàn)檫@種方式速度比較快;如果目標(biāo)系統(tǒng)中不存在以太網(wǎng)接口,那也可以選用串行口進(jìn)行通訊連接,除了速度較慢以外,功能上與以太網(wǎng)連接沒(méi)有什么區(qū)別。另外,在目標(biāo)板初始調(diào)試階段,還可通過(guò)風(fēng)河的硬件仿真器(WindRiver ICE / WindRiver Probe)進(jìn)行連接,觀察硬件狀態(tài),以迅速定位硬件問(wèn)題。
多模式:在Workbench中調(diào)試程序,即可以采用任務(wù)模式,也可以采用系統(tǒng)模式。所謂任務(wù)模式,是指各個(gè)任務(wù)之間獨(dú)立運(yùn)行,暫停其中一個(gè)任務(wù)的運(yùn)行不影響其他任務(wù)的運(yùn)行(主要用于調(diào)試各個(gè)任務(wù));而系統(tǒng)模式則是指只要暫停了系統(tǒng)的任何一處,整個(gè)系統(tǒng)都停止下來(lái)(主要用于調(diào)試中斷程序)。
多主機(jī):這是指Workbench可以在Windows、Linux、Solaris這三大流行的主機(jī)操作系統(tǒng)下運(yùn)行,這不僅可以適合不同開(kāi)發(fā)者的使用習(xí)慣,而且在一定程度上有利于某些目標(biāo)系統(tǒng)的開(kāi)發(fā),如使用Linux主機(jī)環(huán)境調(diào)試運(yùn)行Linux系統(tǒng)的目標(biāo)板(但這并不是必須的)。
豐富易用的調(diào)試手段,大大加快調(diào)試進(jìn)度
動(dòng)態(tài)鏈接:用過(guò)Tornado開(kāi)發(fā)環(huán)境的人都對(duì)其獨(dú)特的分模塊單獨(dú)下載、動(dòng)態(tài)鏈接到目標(biāo)系統(tǒng)的功能深有體會(huì),而Workbench也完全繼承了這個(gè)特性。有了這個(gè)功能,就使開(kāi)發(fā)者不必將所有應(yīng)用模塊都編寫(xiě)完成再進(jìn)行調(diào)試,也不用每次將應(yīng)用模塊和操作系統(tǒng)編譯到一起然后下載調(diào)試,而是編好一個(gè)小模塊,如果想進(jìn)行驗(yàn)證,只需將這個(gè)小模塊(哪怕只是一個(gè)函數(shù))編譯然后下載到目標(biāo)板中就行了,這大大加快了調(diào)試驗(yàn)證的速度,尤其是在目標(biāo)板和主機(jī)之間是低速連接的情況下更能體現(xiàn)出其優(yōu)勢(shì)所在。
目標(biāo)可視:對(duì)目標(biāo)系統(tǒng)的可視化是每一個(gè)嵌入式軟件開(kāi)發(fā)人員都希望得到的功能,為達(dá)到這一目的,Workbench除了提供一般的查看內(nèi)存,積存器、變量、調(diào)用樹(shù)等的傳統(tǒng)視圖工具外,還提供了幾種增強(qiáng)的系統(tǒng)查看工具:目標(biāo)瀏覽器、系統(tǒng)觀察器和SCOPETOOLS工具集。目標(biāo)瀏覽器可以用來(lái)查看目標(biāo)系統(tǒng)每一個(gè)系統(tǒng)資源的使用情況和當(dāng)前狀態(tài),包括系統(tǒng)各個(gè)模塊、任務(wù)、信號(hào)量、消息隊(duì)列、內(nèi)存、堆棧等。系統(tǒng)觀察器可對(duì)系統(tǒng)事件提供詳細(xì)的分析和圖形化的可視效果,同時(shí)還可展示在目標(biāo)機(jī)上執(zhí)行的應(yīng)用程序的相關(guān)任務(wù)、中斷以及系統(tǒng)對(duì)象之間復(fù)雜的交互作用。它能夠清楚地顯示上下文變化以及信號(hào)量、消息隊(duì)列、信號(hào)、任務(wù)、用戶(hù)事件和記時(shí)器一類(lèi)的系統(tǒng)事件,就象一個(gè)軟件的“示波器”。應(yīng)用這些系統(tǒng)查看工具,開(kāi)發(fā)人員可以很容易地去診斷和解決嵌入式系統(tǒng)中存在的調(diào)度問(wèn)題(如死鎖,饑餓和競(jìng)爭(zhēng)),性能問(wèn)題(如優(yōu)先級(jí)設(shè)置,資源的競(jìng)爭(zhēng)與互斥),定時(shí)問(wèn)題等。而RTI SCOPETOOLS則是專(zhuān)門(mén)為設(shè)備類(lèi)軟件開(kāi)發(fā)提供的一組強(qiáng)大的可視化工具集,用戶(hù)可以動(dòng)態(tài)觀察整個(gè)系統(tǒng)平臺(tái),包括應(yīng)用代碼、第三方的庫(kù),甚至操作系統(tǒng)本身。Workbench 2.2中集成進(jìn)來(lái)了用于觀察函數(shù)執(zhí)行效率的ProfileScope工具,用于觀察內(nèi)存使用效率和檢測(cè)內(nèi)存泄露的MemScope工具,和用于檢測(cè)變量或指定內(nèi)存位置處數(shù)值的動(dòng)態(tài)變化情況的StethoScope工具。另外,還有可選的用于實(shí)時(shí)跟蹤代碼執(zhí)行情況的TraceScope工具和用于檢測(cè)代碼執(zhí)行覆蓋率的CoverageScope工具。
仿真環(huán)境:在目標(biāo)系統(tǒng)的硬件開(kāi)發(fā)完成之前,往往軟件系統(tǒng)的開(kāi)發(fā)也要同步進(jìn)行,Workbench提供的模擬仿真環(huán)境(只適用于針對(duì)VxWorks操作系統(tǒng)的應(yīng)用軟件開(kāi)發(fā))就提供了這種同步開(kāi)發(fā)的途徑。VxWorks軟件仿真器運(yùn)行于主機(jī)操作系統(tǒng)環(huán)境中,是一種從VxWorks6.0操作系統(tǒng)移植過(guò)來(lái)的本地應(yīng)用程序,它能夠精確地實(shí)施VxWorks 6.0的高級(jí)復(fù)雜特性,包括實(shí)時(shí)進(jìn)程、內(nèi)存保護(hù)等,它還具有完整的文件系統(tǒng)和網(wǎng)絡(luò)功能,并能調(diào)用主機(jī)系統(tǒng)API。這些特性使得在VxWorks軟件仿真器中開(kāi)發(fā)復(fù)雜的系統(tǒng)成為可能。例如,在VxWorks軟件仿真器中可以組建多個(gè)網(wǎng)絡(luò),這些網(wǎng)絡(luò)不但互相之間可以通訊,還可以通過(guò)主機(jī)系統(tǒng)的網(wǎng)口與外界相連,實(shí)現(xiàn)一個(gè)完全真實(shí)的網(wǎng)絡(luò)環(huán)境;再例如,可以利用主機(jī)系統(tǒng)的顯示屏幕來(lái)開(kāi)發(fā)具有圖形用戶(hù)界面的應(yīng)用程序,這是通過(guò)調(diào)用主機(jī)系統(tǒng)與圖形相關(guān)的API來(lái)實(shí)現(xiàn)的。一般來(lái)說(shuō),用戶(hù)可以為主機(jī)系統(tǒng)的任何資源編寫(xiě)API,而在VxWorks軟件仿真環(huán)境中進(jìn)行調(diào)用,這極大地?cái)U(kuò)展了VxWorks軟件仿真器的功能,也更便于應(yīng)用軟件的同步開(kāi)發(fā)。
除了以上所提到的需要特別強(qiáng)調(diào)的功能外,Workbench的強(qiáng)大調(diào)試功能還表現(xiàn)在支持各種類(lèi)型的斷點(diǎn)設(shè)置、方便靈活的操作系統(tǒng)內(nèi)核配置工具,具有主機(jī)Shell和目標(biāo)機(jī)Shell,具有4種命令解釋器,以及豐富的視圖界面等等,詳細(xì)情況請(qǐng)參考Workbench的說(shuō)明及手冊(cè),這里就不多做介紹。總之,使用Workbench給開(kāi)發(fā)人員的感受就是方便靈活,功能強(qiáng)大,幾乎無(wú)所不能。
3.Workbench與Tornado的功能對(duì)比
Workbench平臺(tái)相對(duì)于Tornado平臺(tái)來(lái)說(shuō),各項(xiàng)功能均有所增強(qiáng),也有不少新加入的功能,主要的功能對(duì)比如下表所列:
表1 Tornado與Workbench的功能對(duì)比
項(xiàng)目 |
Tornado |
Workbench |
工程管理 |
基本的工程管理功能,對(duì)分級(jí)的工程支持有限,并需要手工修改makefile等,比較麻煩 |
支持任意工程的分級(jí)控制,采用簡(jiǎn)單的“拖拉”方式就可完成工程項(xiàng)目的分級(jí)構(gòu)造,非常方便 |
工程項(xiàng)目 |
支持可下載的工程項(xiàng)目和客戶(hù)化的VxWorks工程項(xiàng)目 |
增加了對(duì)系統(tǒng)引導(dǎo)工程項(xiàng)目、實(shí)時(shí)進(jìn)程工程項(xiàng)目、文件系統(tǒng)工程項(xiàng)目、用戶(hù)定制工程項(xiàng)目等的支持 |
編輯器 |
功能比較簡(jiǎn)單,只能完成一般的編輯功能 |
具有語(yǔ)法分析功能,可以進(jìn)行語(yǔ)法著色顯示、符號(hào)定義查找、符號(hào)補(bǔ)全、函數(shù)參數(shù)提示等功能,具有強(qiáng)大的符號(hào)查找和瀏覽能力 |
斷點(diǎn)設(shè)置 |
支持任務(wù)級(jí)斷點(diǎn)和全局?jǐn)帱c(diǎn) |
增加支持對(duì)處理器硬件斷點(diǎn)等的支持,并且對(duì)各種斷點(diǎn)還提供多種控制手段 |
仿真環(huán)境 |
基本的VxWorks仿真環(huán)境,可以操作主機(jī)系統(tǒng)中的文件和網(wǎng)絡(luò)訪問(wèn) |
增強(qiáng)了仿真環(huán)境中的復(fù)雜組網(wǎng)功能,提供了調(diào)用主機(jī)系統(tǒng)API的能力,并可模擬中斷信號(hào)的產(chǎn)生 |
目標(biāo)連接 |
支持網(wǎng)絡(luò)、串口等連接方式 |
增加了對(duì)硬件仿真器的連接 |
下載的代碼量 |
下載的目標(biāo)代碼一般在10MByte之內(nèi),超過(guò)10MByte會(huì)出現(xiàn)下載速度慢,系統(tǒng)不穩(wěn)定的問(wèn)題 |
設(shè)計(jì)能力為可下載750MByte的目標(biāo)代碼,充分滿(mǎn)足開(kāi)發(fā)和調(diào)試需要 |
目標(biāo)操作系統(tǒng) |
只支持VxWorks操作系統(tǒng) |
增加了對(duì)Linux操作系統(tǒng)的支持,并且還可以擴(kuò)展到其它目標(biāo)操作系統(tǒng) |
目標(biāo)系統(tǒng)數(shù)目 |
單一的目標(biāo)系統(tǒng),同一個(gè)開(kāi)發(fā)環(huán)境中同時(shí)只能建立一個(gè)連接,調(diào)試一種類(lèi)型的單板 |
可以同時(shí)進(jìn)行多目標(biāo)板、多CPU體系結(jié)構(gòu)的調(diào)試 |
多任務(wù)調(diào)試 |
不支持,每次只能掛接一個(gè)任務(wù),或者進(jìn)行系統(tǒng)級(jí)調(diào)試 |
支持,同時(shí)可掛接目標(biāo)系統(tǒng)的多個(gè)任務(wù)或進(jìn)程進(jìn)行調(diào)試 |
第三方工具 |
結(jié)構(gòu)比較封閉,集成第三方工具比較困難 |
采用Eclipse的開(kāi)放架構(gòu),第三方工具容易集成,且資源豐富 |
Workbench是對(duì)Tornado的一次脫胎換骨的升級(jí),但目前并不能說(shuō)Workbench就可以完全取代Tornado。這是因?yàn)閃orkbench只對(duì)VxWorks6.0以上的版本(具有“進(jìn)程”的概念)進(jìn)行支持,如果用戶(hù)想使用VxWorks6.0以下的版本(扁平地址空間,應(yīng)用程序均在內(nèi)核中運(yùn)行),那只能用Tornado進(jìn)行開(kāi)發(fā)。
4.Workbench的當(dāng)前應(yīng)用狀況
如上所述,Workbench無(wú)疑是當(dāng)前嵌入式軟件開(kāi)發(fā)領(lǐng)域中功能非常強(qiáng)大的一個(gè)集成開(kāi)發(fā)環(huán)境,它最適合應(yīng)用于復(fù)雜系統(tǒng)的開(kāi)發(fā)或多個(gè)開(kāi)發(fā)團(tuán)隊(duì)的合作開(kāi)發(fā),比如一個(gè)復(fù)雜的系統(tǒng)需要用到多種CPU或多種目標(biāo)操作系統(tǒng),或者應(yīng)用軟件本身非常復(fù)雜,具有多個(gè)任務(wù),并且相互之間關(guān)聯(lián)緊密,或者多個(gè)項(xiàng)目組之間需要進(jìn)行協(xié)同開(kāi)發(fā)和軟件模塊共享,或者企業(yè)涉及到了從硬件開(kāi)發(fā),到軟件開(kāi)發(fā),再到生產(chǎn)測(cè)試的全過(guò)程。在這些情況下,考慮使用Workbench平臺(tái)則非常合適,因?yàn)檫@樣不僅能快速有效地進(jìn)行系統(tǒng)開(kāi)發(fā),并且能夠有效地進(jìn)行項(xiàng)目的組織和管理,最終從整體上降低企業(yè)的成本。
Workbench目前正式發(fā)布的版本是2.2版,即將推出的2.3版本則提供了對(duì)更多種類(lèi)處理器和目標(biāo)操作系統(tǒng)的支持,其功能和適用范圍也將進(jìn)一步增強(qiáng)。在國(guó)內(nèi),已經(jīng)有不少大型企業(yè)都正在積極地評(píng)估Workbench平臺(tái)的使用,并體驗(yàn)其強(qiáng)大的開(kāi)發(fā)能力和方便靈活的操作過(guò)程。在國(guó)外,已經(jīng)有一些企業(yè)用Workbench開(kāi)發(fā)出來(lái)了自己的產(chǎn)品。相信不久以后,風(fēng)河公司的Workbench開(kāi)發(fā)平臺(tái)將會(huì)遍及到嵌入式軟件開(kāi)發(fā)的各個(gè)領(lǐng)域,并使嵌入式軟件開(kāi)發(fā)成為一個(gè)令人愉悅的過(guò)程。
linux相關(guān)文章:linux教程
評(píng)論