當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀][b]1 嵌入式系統(tǒng)開發(fā)所面臨的問題 [/b] 嵌入式軟件開發(fā)有別于桌面軟件系統(tǒng)開發(fā)的一個顯著特點是,它一般需要一個交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在主機(jī)上進(jìn)行(如在P

[b]1 嵌入式系統(tǒng)開發(fā)所面臨的問題 [/b] 嵌入式軟件開發(fā)有別于桌面軟件系統(tǒng)開發(fā)的一個顯著特點是,它一般需要一個交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在主機(jī)上進(jìn)行(如在PC機(jī)的WindOWS 操作系統(tǒng)下),編譯好的軟件需要下載到目標(biāo)機(jī)上運(yùn)行(如在一個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)也彼此不同。這就提高了嵌入式開發(fā)的復(fù)雜性。 總的來說,嵌入式開發(fā)所面.臨的問題主要表現(xiàn)在以下幾個方面。 (1)涉及多種CPU及多種OS 嵌入式的CPU或處理器可謂多種多樣,包括了Pentium、MIPS、PPC、ARM,XScale等,而且應(yīng)用都很廣,在其上運(yùn)行的操作系統(tǒng)也有不少,如VxWorks,Linux,Nucleus,WinCE等,即使在一個公司之內(nèi),也會同時使用好幾種處理器,甚至幾種嵌入式操作系統(tǒng)。如果需要同時調(diào)試多種類型的板子,每個板子上又運(yùn)行著多個任務(wù)或進(jìn)程,那復(fù)雜性是可想而知的。 (2)開發(fā)工具種類繁多 不僅各種操作系統(tǒng)有各自的開發(fā)工具,在同一系統(tǒng)下開發(fā)的不同階段也有不同的開發(fā)工具。如在用戶的目標(biāo)板開發(fā)初期,需要硬件仿真器來調(diào)試硬件系統(tǒng)和基本的驅(qū)動程序;在調(diào)試應(yīng)用程序階段,可以使用交互式的開發(fā)環(huán)境進(jìn)行軟件調(diào)試;在測試階段需要一些專門的測試工具軟件進(jìn)行功能和性能的測試;在生產(chǎn)階段需要固化程序及出廠檢測等。一般每一種工具都要從不同的供應(yīng)商處購買,都要單獨去學(xué)習(xí)和掌握,這無疑增加了整個公司的支出和管理的難度。 (3)對目標(biāo)系統(tǒng)的觀察和控制 由于嵌入式硬件系統(tǒng)千差萬別,軟件模塊和系統(tǒng)資源也多種多樣,要使系統(tǒng)能正常工作,軟件開發(fā)者必須要對目標(biāo)系統(tǒng)具有完全的觀察和控制能力,例如硬件的各種寄存器、內(nèi)存空間,操作系統(tǒng)的信號量、消息隊列、任務(wù)、堆棧等。 此外,嵌入式系統(tǒng)變化更新比較快,對開發(fā)時間要求比較緊,尤其是消費(fèi)類產(chǎn)品更是如此.如果有一套功能強(qiáng)大的嵌入式軟件集成開發(fā)工具可以滿足嵌入式軟件開發(fā)各個階段的需求,同時又使用方便,界面友好,那是最理想不過了。美國風(fēng)河系統(tǒng)公司(以下簡稱為“風(fēng)河公司”)推出的Workbench嵌入式軟件開發(fā)平臺正是這樣一個“全能選手”。 2 Workbench的特點和優(yōu)勢 風(fēng)河公司一直致力于嵌入式軟件領(lǐng)域的研究,其歷悠久的Tornado開發(fā)環(huán)境和VxWorks嵌入式操作系統(tǒng)。品在嵌入式領(lǐng)域中應(yīng)用非常廣泛,尤其以強(qiáng)實時性和穩(wěn)定性而著稱于世。風(fēng)河公司的新一代Workbench開發(fā)平臺繼承了原有Tornaclo集成開發(fā)平臺的一貫優(yōu)勢,并且功能更加強(qiáng)大。由于新采用了先進(jìn)的Eclipoe軟件框架結(jié)構(gòu),從而使整個系統(tǒng)更加開放和易于擴(kuò)展。下面介紹它的主要優(yōu)勢。 2.1 開放的Eclipse平臺框架 Eclipse軟件框架結(jié)構(gòu)是一個完整和開放的基礎(chǔ)平臺,如圖1所示,它能夠?qū)D形工具以及任何必須的功能通過標(biāo)準(zhǔn)的接口集成到同一個開發(fā)環(huán)境中。目前,IBMHP及Borland等商業(yè)開發(fā)工具提供商均支持Eclipse開發(fā)平臺,網(wǎng)上也有大量為Eclitpse平臺開發(fā)插件的社區(qū),由于 Workbench符合Eclipse框架,所以這些商用的和免費(fèi)的符合Eclipse平臺接口的插件均可以集成到Work-bench開發(fā)環(huán)境中,這極大擴(kuò)展了Workbench的功能。例如,如果用戶想使用自己熟悉的配置管理工具或者編輯器,就可以找到這樣一個插件并集成進(jìn)來,這樣用戶就會感到開發(fā)過程非常適合自己的需要。

不僅如此,風(fēng)河公司還對Eclipse做了多方面的增強(qiáng),從而顯著提高了系統(tǒng)的性能。例如Workbench實現(xiàn)了異步接口功能,需要長時間運(yùn)行的任務(wù)可以在后臺運(yùn)行,與此同時還能繼續(xù)接收開發(fā)人員的調(diào)試請求,這樣不至于使開發(fā)人員做長時間的等待;另外,Workbench還優(yōu)化了對目標(biāo)機(jī)數(shù)據(jù)的請求機(jī)制,即系統(tǒng)只檢索在集成開發(fā)環(huán)境當(dāng)前視圖中所需要的少量數(shù)據(jù),看不見的數(shù)據(jù)則不向目標(biāo)機(jī)索取,這樣就大大提高了交叉調(diào)試時系統(tǒng)的響應(yīng)速度并減少了系統(tǒng)負(fù)荷。 2.2 單一的全功能平臺 一個嵌入式產(chǎn)品的軟件開發(fā),其“實質(zhì)性”過程包括了從開始的硬件啟動,BSP(板級支持包)及驅(qū)動的開發(fā),到應(yīng)用程序的開發(fā),再到后來的測試、驗證,直至最后的生產(chǎn)階段。一般來說,每個階段都可以找到不同的工具來使用(實際情況也大都如此)。風(fēng)河公司的Workbench開發(fā)平臺改變了這一現(xiàn)狀,它以一個單一的WorkbenCh平臺,提了上述開發(fā)階段所需要的幾乎所有功能。具體來說,包括了硬件系統(tǒng)仿真功能(有配套的硬件仿真器)、工程管理和構(gòu)建系統(tǒng)、編輯器、版本管理、命令解釋器、調(diào)試工具、系統(tǒng)分析工具、系統(tǒng)觀察工具、Flash編程工具等,再加上風(fēng)河公司自己開發(fā)的和第三方廠家提供的各種軟件功能模塊和開發(fā)工具的插件,所有這一切,都集成在Workbench這個統(tǒng)一的平臺之下,這必將大大改善嵌入式軟件的開發(fā)環(huán)境.對一個企業(yè)來講,更可以提高效率,減少投資,簡化管理。嵌入式軟件開發(fā)的各個階段以及Workbemch在各個階段提供的功能如圖2所示。

2.3廣泛的適用性 Workbench平臺的廣泛適用性主要體現(xiàn)在七“多”上,即多任務(wù)、多目標(biāo)、多模式、多OS、多CPU、多連接形式和多主機(jī)環(huán)境。 ◆多任務(wù)。在workhech調(diào)試環(huán)境下,可以同時連接目標(biāo)系統(tǒng)上的多個不同的任務(wù)(或者進(jìn)程),每個任務(wù)都可以單獨設(shè)置斷點,進(jìn)行單步調(diào)試。開發(fā)者再也不用象以前那樣,為了調(diào)試多個任務(wù),先斷開一個任務(wù)的連接,再連接到另外一個任務(wù)上去。這就給具有多任務(wù)的目標(biāo)系統(tǒng)開發(fā)提供了便利,尤其是需要查看多個任務(wù)之間的配合關(guān)系時,體現(xiàn)的優(yōu)勢更加明顯。 ◆多CPU。風(fēng)河公司的Tornado開發(fā)環(huán)境可以說已經(jīng)支持了全系列的主流CPU(或處理器),而Workbench也將繼承這個傳統(tǒng)。目前,推出的 Workbench2.2版本已經(jīng)可以支持PENTIUM、PPC和MIPS系列的所有主流CPU。對ARM、XSCALE、SH等系列的支持正在移植和測試中,不久即將發(fā)布正式版本(Workbench 2、3)。 ◆多OS。目前,Workbench2.2不僅支持VxWorks嵌入式操作系統(tǒng)(6.0以上版本),而且支持Linux操作系統(tǒng),這確實給廣大的 Linux嵌入式開發(fā)人員帶來了福音。由于Linux操作系統(tǒng)的“免費(fèi)”性質(zhì),使得其軟件開發(fā)系統(tǒng)一直比較分散和孤立,用起來不是特別方便,有了 Work-bench以后,嵌入式Linux的開發(fā)就同VxWorks的開發(fā)一樣方便和快捷了。如果有必要的話,以后還可以增加對其他類型嵌入式操作系統(tǒng)的支持,因為Workbench本身是開放和可擴(kuò)展的。 ◆多目標(biāo)。Workbench對復(fù)雜目標(biāo)系統(tǒng)的強(qiáng)有力支持還表現(xiàn)在它可以支持同時連接多塊目標(biāo)板進(jìn)行調(diào)試開發(fā)。更為可貴的是,這些目標(biāo)板上的處理器可以各不相同,并且在目標(biāo)板上運(yùn)行的操作系統(tǒng)也可任意(既可以運(yùn)行VxWorks,也可以運(yùn)行Linux),而調(diào)試工作可以在同一個Workbench界面中同時進(jìn)行,這無疑給一些復(fù)雜系統(tǒng)的調(diào)試帶來了極大的便利。 ◆多連接。所謂多連接,是指Workbench所在的主機(jī)和目標(biāo)機(jī)之間可以有多種連接方式進(jìn)行通信。如果目標(biāo)系統(tǒng)中存在以太網(wǎng)接口,那就應(yīng)該首選以太網(wǎng)連接,因為這種方式速度比較快;如果目標(biāo)系統(tǒng)中不存在以太網(wǎng)接口,那也可以選用串行口進(jìn)行通信連接,除了速度較慢以外,功能上與以太網(wǎng)連接沒有什么區(qū)別。另外,在目標(biāo)板初始調(diào)試階段,還可通過風(fēng)河的硬件仿真器(WlndRiverICE/WindRiver Probe)進(jìn)行連接,觀察硬件狀態(tài),以迅速定位硬件問題。 ◆多模式。在Workbench中調(diào)試程序,即可以采用任務(wù)模式,也可以采用系統(tǒng)模式。所謂任務(wù)模式,是指各個任務(wù)之間獨立運(yùn)行,暫停其中一個任務(wù)的運(yùn)行不影響其他任務(wù)的運(yùn)行(主要用于調(diào)試各個任務(wù));而系統(tǒng)模式則是指只要暫停丁系統(tǒng)的任何一處,整個系統(tǒng)都停止下來(主要用于調(diào)試中斷程序)。 ◆多主機(jī)。這是指Workbench可以在Windows、unux和Solaris這三大流行的主機(jī)操作系統(tǒng)下運(yùn)行,這不僅可以適合不同開發(fā)者的使用習(xí)慣,而且在一定程度上有利于某些目標(biāo)系統(tǒng)的開發(fā),如使用unux主機(jī)環(huán)境調(diào)試運(yùn)行Linux系統(tǒng)的目標(biāo)板(但這并不是必須的)。 2.4 豐富易用的調(diào)試手段 (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)板和主機(jī)之間是低速連接的情況,更能體現(xiàn)出其優(yōu)勢所在。 (2)目標(biāo)可視 對目標(biāo)系統(tǒng)的可視化是每一個嵌入式軟件開發(fā)人員都希望得到的功能,為達(dá)到這一目的,Workbench除了提供一般的查看內(nèi)存、寄存器、變量、調(diào)用樹等的傳統(tǒng)視圖工具外,還提供了幾種增強(qiáng)的系統(tǒng)查看工具:目標(biāo)瀏覽器、系統(tǒng)觀察器和SCOPETO0LS工具集。目標(biāo)瀏覽器可以用來查看目標(biāo)系統(tǒng)每一個系統(tǒng)資源的使用情況和當(dāng)前狀態(tài),包括系統(tǒng)各個模塊、任務(wù)、信號量、消息隊列、內(nèi)存、堆棧等。系統(tǒng)觀察器可對系統(tǒng)事件提供詳細(xì)的分析和圖形化的可視效果,同時還可展示在目標(biāo)機(jī)上執(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ā)提供的一組強(qiáng)大的可視化工具集,用戶可以動態(tài)觀察整個系統(tǒng)平臺,包括應(yīng)用代碼、第三方的庫,甚至操作系統(tǒng)本身。Workbench2.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軟件仿真器運(yùn)行于主機(jī)操作系統(tǒng)環(huán)境中,是一種從VxWorks 6.0操作系統(tǒng)移植過來的本地應(yīng)用程序,它能夠精確地實施VxWorks 6.0的高級復(fù)雜特性,包括實時進(jìn)程、內(nèi)存保護(hù)等。它還具有完整的文件系統(tǒng)和網(wǎng)絡(luò)功能,并能調(diào)用主機(jī)系統(tǒng)API。這些特性使得在VxWorks軟件仿真器中開發(fā)復(fù)雜的系統(tǒng)成為可能。例如,在VxWorks軟件仿真器中可以組建多個網(wǎng)絡(luò),這些網(wǎng)絡(luò)不但互相之間可以通信,還可以通過主機(jī)系統(tǒng)的網(wǎng)口與外界相連,實現(xiàn)一個完全真實的網(wǎng)絡(luò)環(huán)境。一般來說,用戶可以為主機(jī)系統(tǒng)的任何資源編寫API,而在VxWorks軟件仿真環(huán)境中進(jìn)行調(diào)用,這極大地擴(kuò)展了 VxWorks軟件仿真器的功能,也更便于應(yīng)用軟件的同步開發(fā)。 除了以上所提到的功能外,Workbench的強(qiáng)大調(diào)試功能還表現(xiàn)在支持各種類型的斷點設(shè)置、方便靈活的操作系統(tǒng)內(nèi)核配置工具,具有主機(jī)Sheu和目標(biāo)機(jī) Shell,具有4種命令解釋器,以及豐富的視圖界面等。詳細(xì)情況請參考Workbench的說明及手冊,這里就不多做介紹??傊褂? Workbench給開發(fā)人員的感受就是方便靈活,功能強(qiáng)大,幾乎無所不能。 3 Workbench與Tornado的功能對比 Workbench平臺相對于Tornado平臺來說,各項功能均有所增強(qiáng),也有不少新加入的功能,主要的功能對比如表1所列。[!--empirenews.page--]


Workbench是對Tornado一次脫胎換骨的升級,但目前并不能說Workbench就可以完全取代Tornado,這是因為Workbench 只對VxWorks6.O以上的版本(具有“進(jìn)程”的概念)進(jìn)行支持,如果用戶想使用VxWorks6.O以下的版本(扁平地址空間,應(yīng)用程序均在內(nèi)核中運(yùn)行),那只能用Tomado進(jìn)行開發(fā)。 4 Workbench的當(dāng)前應(yīng)用狀況 如上所述,Workbench無疑是當(dāng)前嵌入式軟件開發(fā)領(lǐng)域中功能非常強(qiáng)大的一個集成開發(fā)環(huán)境,它最適合應(yīng)用于復(fù)雜系統(tǒng)的開發(fā)或多個開發(fā)團(tuán)隊的合作開發(fā)。比如一個復(fù)雜的系統(tǒng),需要用到多種CPU或多種目標(biāo)操作系統(tǒng),或者應(yīng)用軟件本身非常復(fù)雜,具有多個任務(wù),并且相互之間關(guān)聯(lián)緊密,或者多個項目組之間需要進(jìn)行協(xié)同開發(fā)和軟件模塊共享,或者企業(yè)涉及到了從硬件開發(fā),到軟件開發(fā),再到生產(chǎn)測試的全過程。在這些情況下,考慮使用Work-bench平臺則非常合適,因為這樣不僅能快速有效地進(jìn)行系統(tǒng)開發(fā),并且能夠有效地進(jìn)行項目的組織和管理,最終從整體上降低成本。 Workbench目前正式發(fā)布的是2.2版本,即將推出的2.3版本則提供了對更多種類處理器和目標(biāo)操作系統(tǒng)的支持,其功能和適用范圍也將進(jìn)一步增強(qiáng)。在國內(nèi),已經(jīng)有不少大型企業(yè)正在積極評估Workbench平臺的使用,并體驗其強(qiáng)大的開發(fā)能力和方便靈活的操作過程。在國外,已經(jīng)有一些企業(yè)用 Woikbench開發(fā)出來了自己的產(chǎn)品。相信不久以后,風(fēng)河公司的Workbench開發(fā)平臺將會遍及到嵌入式軟件開發(fā)的各個領(lǐng)域,并使嵌入式軟件開發(fā)成為一個令人愉悅的過程。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉