嵌入式系統(tǒng)開發(fā)與集成開發(fā)環(huán)境的應(yīng)用(3)
——
(6) 多模式:在Workbench中調(diào)試程序,即可以采用任務(wù)模式,也可以采用系統(tǒng)模式。所謂任務(wù)模式,是指各個任務(wù)之間獨立運行,暫停其中一個任務(wù)的運行不影響其他任務(wù)的運行(主要用于調(diào)試各個任務(wù));而系統(tǒng)模式則是指只要暫停了系統(tǒng)的任何一處,整個系統(tǒng)都停止下來(主要用于調(diào)試中斷程序)。
(7) 多主機:這是指Workbench可以在Windows、Linux、Solaris這三大流行的主機操作系統(tǒng)下運行,這不僅可以適合不同開發(fā)者的使用習(xí)慣,而且在一定程度上有利于某些目標(biāo)系統(tǒng)的開發(fā),如使用Linux主機環(huán)境調(diào)試運行Linux系統(tǒng)的目標(biāo)板(但這并不是必須的)。
2.4 豐富易用的調(diào)試手段,大大加快調(diào)試進(jìn)度
(1) 動態(tài)鏈接:用過Tornado開發(fā)環(huán)境的人都對其獨特的分模塊單獨下載、動態(tài)鏈接到目標(biāo)系統(tǒng)的功能深有體會,而Workbench也完全繼承了這個特性。有了這個功能,就使開發(fā)者不必將所有應(yīng)用模塊都編寫完成再進(jìn)行調(diào)試,也不用每次將應(yīng)用模塊和操作系統(tǒng)編譯到一起然后下載調(diào)試,而是編好一個小模塊,如果想進(jìn)行驗證,只需將這個小模塊(哪怕只是一個函數(shù))編譯然后下載到目標(biāo)板中就行了,這大大加快了調(diào)試驗證的速度,尤其是在目標(biāo)板和主機之間是低速連接的情況下更能體現(xiàn)出其優(yōu)勢所在。
(2) 目標(biāo)可視:對目標(biāo)系統(tǒng)的可視化是每一個嵌入式軟件開發(fā)人員都希望得到的功能,為達(dá)到這一目的,Workbench除了提供一般的查看內(nèi)存,積存器、變量、調(diào)用樹等的傳統(tǒng)視圖工具外,還提供了幾種增強的系統(tǒng)查看工具:目標(biāo)瀏覽器、系統(tǒng)觀察器和SCOPETOOLS工具集。目標(biāo)瀏覽器可以用來查看目標(biāo)系統(tǒng)每一個系統(tǒng)資源的使用情況和當(dāng)前狀態(tài),包括系統(tǒng)各個模塊、任務(wù)、信號量、消息隊列、內(nèi)存、堆棧等。系統(tǒng)觀察器可對系統(tǒng)事件提供詳細(xì)的分析和圖形化的可視效果,同時還可展示在目標(biāo)機上執(zhí)行的應(yīng)用程序的相關(guān)任務(wù)、中斷以及系統(tǒng)對象之間復(fù)雜的交互作用。它能夠清楚地顯示上下文變化以及信號量、消息隊列、信號、任務(wù)、用戶事件和記時器一類的系統(tǒng)事件,就象一個軟件的“示波器”。應(yīng)用這些系統(tǒng)查看工具,開發(fā)人員可以很容易地去診斷和解決嵌入式系統(tǒng)中存在的調(diào)度問題(如死鎖,饑餓和競爭),性能問題(如優(yōu)先級設(shè)置,資源的競爭與互斥),定時問題等。而RTI SCOPETOOLS則是專門為設(shè)備類軟件開發(fā)提供的一組強大的可視化工具集,用戶可以動態(tài)觀察整個系統(tǒng)平臺,包括應(yīng)用代碼、第三方的庫,甚至操作系統(tǒng)本身。Workbench 2.2中集成進(jìn)來了用于觀察函數(shù)執(zhí)行效率的ProfileScope工具,用于觀察內(nèi)存使用效率和檢測內(nèi)存泄露的MemScope工具,和用于檢測變量或指定內(nèi)存位置處數(shù)值的動態(tài)變化情況的StethoScope工具。另外,還有可選的用于實時跟蹤代碼執(zhí)行情況的TraceScope工具和用于檢測代碼執(zhí)行覆蓋率的CoverageScope工具。
(3) 仿真環(huán)境:在目標(biāo)系統(tǒng)的硬件開發(fā)完成之前,往往軟件系統(tǒng)的開發(fā)也要同步進(jìn)行,Workbench提供的模擬仿真環(huán)境(只適用于針對VxWorks操作系統(tǒng)的應(yīng)用軟件開發(fā))就提供了這種同步開發(fā)的途徑。VxWorks軟件仿真器運行于主機操作系統(tǒng)環(huán)境中,是一種從VxWorks6.0操作系統(tǒng)移植過來的本地應(yīng)用程序,它能夠精確地實施VxWorks 6.0的高級復(fù)雜特性,包括實時進(jìn)程、內(nèi)存保護(hù)等,它還具有完整的文件系統(tǒng)和網(wǎng)絡(luò)功能,并能調(diào)用主機系統(tǒng)API。這些特性使得在VxWorks軟件仿真器中開發(fā)復(fù)雜的系統(tǒng)成為可能。例如,在VxWorks軟件仿真器中可以組建多個網(wǎng)絡(luò),這些網(wǎng)絡(luò)不但互相之間可以通訊,還可以通過主機系統(tǒng)的網(wǎng)口與外界相連,實現(xiàn)一個完全真實的網(wǎng)絡(luò)環(huán)境;再例如,可以利用主機系統(tǒng)的顯示屏幕來開發(fā)具有圖形用戶界面的應(yīng)用程序,這是通過調(diào)用主機系統(tǒng)與圖形相關(guān)的API來實現(xiàn)的。一般來說,用戶可以為主機系統(tǒng)的任何資源編寫API,而在VxWorks軟件仿真環(huán)境中進(jìn)行調(diào)用,這極大地擴(kuò)展了VxWorks軟件仿真器的功能,也更便于應(yīng)用軟件的同步開發(fā)。
評論