新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 嵌入式系統(tǒng)開(kāi)發(fā)與集成開(kāi)發(fā)環(huán)境的應(yīng)用(3)

嵌入式系統(tǒng)開(kāi)發(fā)與集成開(kāi)發(fā)環(huán)境的應(yīng)用(3)

——
作者: 時(shí)間:2007-04-17 來(lái)源:EDN 收藏

 

 (6) 多模式:在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)試中斷程序)。

       (7) 多主機(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)板(但這并不是必須的)。 

 2.4 豐富易用的調(diào)試手段,大大加快調(diào)試進(jìn)度

       (1) 動(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ì)所在。

       (2) 目標(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ā)人員可以很容易地去診斷和解決中存在的調(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工具。

      (3) 仿真環(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ā)。 



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉