<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

 

 (6) 多模式:在Workbench中調試程序,即可以采用任務(wù)模式,也可以采用系統模式。所謂任務(wù)模式,是指各個(gè)任務(wù)之間獨立運行,暫停其中一個(gè)任務(wù)的運行不影響其他任務(wù)的運行(主要用于調試各個(gè)任務(wù));而系統模式則是指只要暫停了系統的任何一處,整個(gè)系統都停止下來(lái)(主要用于調試中斷程序)。

       (7) 多主機:這是指Workbench可以在Windows、Linux、Solaris這三大流行的主機操作系統下運行,這不僅可以適合不同開(kāi)發(fā)者的使用習慣,而且在一定程度上有利于某些目標系統的開(kāi)發(fā),如使用Linux主機環(huán)境調試運行Linux系統的目標板(但這并不是必須的)。 

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

       (1) 動(dòng)態(tài)鏈接:用過(guò)Tornado開(kāi)發(fā)環(huán)境的人都對其獨特的分模塊單獨下載、動(dòng)態(tài)鏈接到目標系統的功能深有體會(huì ),而Workbench也完全繼承了這個(gè)特性。有了這個(gè)功能,就使開(kāi)發(fā)者不必將所有應用模塊都編寫(xiě)完成再進(jìn)行調試,也不用每次將應用模塊和操作系統編譯到一起然后下載調試,而是編好一個(gè)小模塊,如果想進(jìn)行驗證,只需將這個(gè)小模塊(哪怕只是一個(gè)函數)編譯然后下載到目標板中就行了,這大大加快了調試驗證的速度,尤其是在目標板和主機之間是低速連接的情況下更能體現出其優(yōu)勢所在。

       (2) 目標可視:對目標系統的可視化是每一個(gè)嵌入式軟件開(kāi)發(fā)人員都希望得到的功能,為達到這一目的,Workbench除了提供一般的查看內存,積存器、變量、調用樹(shù)等的傳統視圖工具外,還提供了幾種增強的系統查看工具:目標瀏覽器、系統觀(guān)察器和SCOPETOOLS工具集。目標瀏覽器可以用來(lái)查看目標系統每一個(gè)系統資源的使用情況和當前狀態(tài),包括系統各個(gè)模塊、任務(wù)、信號量、消息隊列、內存、堆棧等。系統觀(guān)察器可對系統事件提供詳細的分析和圖形化的可視效果,同時(shí)還可展示在目標機上執行的應用程序的相關(guān)任務(wù)、中斷以及系統對象之間復雜的交互作用。它能夠清楚地顯示上下文變化以及信號量、消息隊列、信號、任務(wù)、用戶(hù)事件和記時(shí)器一類(lèi)的系統事件,就象一個(gè)軟件的“示波器”。應用這些系統查看工具,開(kāi)發(fā)人員可以很容易地去診斷和解決中存在的調度問(wèn)題(如死鎖,饑餓和競爭),性能問(wèn)題(如優(yōu)先級設置,資源的競爭與互斥),定時(shí)問(wèn)題等。而RTI SCOPETOOLS則是專(zhuān)門(mén)為設備類(lèi)軟件開(kāi)發(fā)提供的一組強大的可視化工具集,用戶(hù)可以動(dòng)態(tài)觀(guān)察整個(gè)系統平臺,包括應用代碼、第三方的庫,甚至操作系統本身。Workbench 2.2中集成進(jìn)來(lái)了用于觀(guān)察函數執行效率的ProfileScope工具,用于觀(guān)察內存使用效率和檢測內存泄露的MemScope工具,和用于檢測變量或指定內存位置處數值的動(dòng)態(tài)變化情況的StethoScope工具。另外,還有可選的用于實(shí)時(shí)跟蹤代碼執行情況的TraceScope工具和用于檢測代碼執行覆蓋率的CoverageScope工具。

      (3) 仿真環(huán)境:在目標系統的硬件開(kāi)發(fā)完成之前,往往軟件系統的開(kāi)發(fā)也要同步進(jìn)行,Workbench提供的模擬仿真環(huán)境(只適用于針對VxWorks操作系統的應用軟件開(kāi)發(fā))就提供了這種同步開(kāi)發(fā)的途徑。VxWorks軟件仿真器運行于主機操作系統環(huán)境中,是一種從VxWorks6.0操作系統移植過(guò)來(lái)的本地應用程序,它能夠精確地實(shí)施VxWorks 6.0的高級復雜特性,包括實(shí)時(shí)進(jìn)程、內存保護等,它還具有完整的文件系統和網(wǎng)絡(luò )功能,并能調用主機系統API。這些特性使得在VxWorks軟件仿真器中開(kāi)發(fā)復雜的系統成為可能。例如,在VxWorks軟件仿真器中可以組建多個(gè)網(wǎng)絡(luò ),這些網(wǎng)絡(luò )不但互相之間可以通訊,還可以通過(guò)主機系統的網(wǎng)口與外界相連,實(shí)現一個(gè)完全真實(shí)的網(wǎng)絡(luò )環(huán)境;再例如,可以利用主機系統的顯示屏幕來(lái)開(kāi)發(fā)具有圖形用戶(hù)界面的應用程序,這是通過(guò)調用主機系統與圖形相關(guān)的API來(lái)實(shí)現的。一般來(lái)說(shuō),用戶(hù)可以為主機系統的任何資源編寫(xiě)API,而在VxWorks軟件仿真環(huán)境中進(jìn)行調用,這極大地擴展了VxWorks軟件仿真器的功能,也更便于應用軟件的同步開(kāi)發(fā)。 



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>