|
Eclipse開放式開發(fā)平臺(圖)
[ 來源:機電論文 | 類別:技術(shù) | 時間:2009-9-5 10:41:59 ] [字體:大 中 小]
嵌入式領(lǐng)域一直都在致力于為軟件和系統(tǒng)工程師提供一個通用的開放式開發(fā)界面。工具則一向與實時系統(tǒng)(RTOS)或處理器緊密相關(guān),而這二者的具體特性都需要專有環(huán)境來予以支持,這一點造成了開發(fā)人員在為了滿足不斷變化的設(shè)計需要而更換環(huán)境時,不可避免地會遭遇陡峭的學(xué)習(xí)曲線和額外的工具開銷。
通過使用Eclipse開放式開發(fā)平臺,嵌入式軟件開發(fā)人員就有機會實現(xiàn)環(huán)境的標(biāo)準(zhǔn)化,使之在新的層次上提供不同工具之間的一致性。 簡介
對于那些習(xí)慣于使用極度重視調(diào)試的工具環(huán)境的嵌入式開發(fā)人員來說,Eclipse乍看起來有些另類,因為這個環(huán)境是以代碼開發(fā)和項目管理作為出發(fā)點的。 根據(jù)以往經(jīng)驗,Eclipse新用戶大約需要半天的時間來熟悉這套環(huán)境。之后,開發(fā)人員的工作效率會迅速超過使用較傳統(tǒng)的工具時的工作效率,并開始發(fā)揮出完全集成的開發(fā)環(huán)境的真正威力。以上的經(jīng)驗數(shù)據(jù)是通過與許多經(jīng)歷過這種轉(zhuǎn)變的嵌入式開發(fā)人員交流后得到的,現(xiàn)在他們非常滿意基于Eclipse的產(chǎn)品所提供的自由和靈活性。 平臺
Eclipse不是嵌入式環(huán)境,而是從企業(yè)開發(fā)領(lǐng)域衍生出的平臺,它使得各公司能夠通過使用標(biāo)準(zhǔn)的機制將自己的工具作為插件集成在這套平臺上,并提供標(biāo)準(zhǔn)用戶界面。這套工具如何工作以及做何工作,根據(jù)處理器或RTOS的不同,這個問題可能會有各種各樣的答案,但是集成開發(fā)環(huán)境(IDE)保持不變,而總體感觀也非常類似。對供應(yīng)商和用戶而言,這一點都是非常有利的。 供應(yīng)商不再需要開發(fā)和維護并非嵌入式領(lǐng)域所特有的IDE技術(shù)。他們可以利用第三方插件,使得他們的用戶能夠根據(jù)自己的特定需求來建立一流的軟件開發(fā)環(huán)境。這些開發(fā)環(huán)境可以是嵌入式開發(fā)環(huán)境或企業(yè)開發(fā)環(huán)境,可以使用商業(yè)許可或開源許可。 通用界面
現(xiàn)在,嵌入式開發(fā)人員能夠從通用用戶界面來啟動自己的工具。 無論使用什么工具,IDE的感觀都保持不變。 只要在選擇工具供應(yīng)商的時候略微注意一點,開發(fā)人員就能夠使用各種類型的工具和實時系統(tǒng)而無須做出折衷。 選擇開放式標(biāo)準(zhǔn)的IDE也使得開發(fā)人員不必過分依賴于那些曾經(jīng)一度是選擇RTOS時必不可少的工具和IDE。通過使用基于Eclipse的IDE,用戶現(xiàn)在能夠選擇自己的RTOS。而且他們知道,如果這個RTOS不能滿足自己下一個項目的需求,那么只需要換個新插件就可以了。 插件
Eclipse框架可以容納任意數(shù)量的插件,這些插件可以是完整的環(huán)境,獨立的應(yīng)用程序或者僅僅在現(xiàn)有插件中新增幾個窗口。通過API來編寫插件有嚴格的準(zhǔn)則,這確保了不同應(yīng)用程序之間的一致性。不過,Eclipse也以向?qū)?、模板、菜單和示例的形式提供了大量的幫助,使得實際的API部分相對簡單。 Eclipse框架和插件的GUI部分都是使用Java編寫的(易于編程和移植),而Eclipse開發(fā)環(huán)境(用于創(chuàng)建Eclipse插件)也提供了幾個有用的工具包。被稱為Standard Widget Toolkit (SWT)的工具包是用來創(chuàng)建按鈕和對話框等低層次功能的,而更高層次的JFace提供了一個工具包,用來幫助創(chuàng)建視圖、列表和樹(見圖1)。 只有GUI部分必須使用Java編寫,而插件的其他部分不一定使用Java編寫。因此,遺留的C或C++應(yīng)用程序無須重寫全部代碼就能夠移植為Eclipse插件。這對嵌入式供應(yīng)商是有利的,并且對那些擁有專利工具的開發(fā)人員也有幫助。這些現(xiàn)在都能夠運行在相同的環(huán)境中。 項目和子項目
除了Eclipse平臺之外,開源社區(qū)仍然在開發(fā)許多項目和子項目。這些項目的開發(fā)人員是由不同層次的Eclipse成員組成的:戰(zhàn)略開發(fā)人員、戰(zhàn)略用戶、擴展服務(wù)提供商以及開源項目領(lǐng)導(dǎo)者。無須成員資格就能夠參與甚至是領(lǐng)導(dǎo)這些項目。 項目需要滿足一般或特定需求,該需求會影響軟件的開發(fā),并且這些項目通常由在該特定領(lǐng)域有專業(yè)技術(shù)的公司來管理或領(lǐng)導(dǎo)。然后,這些項目可以作為示例或基礎(chǔ)供其他公司設(shè)計自己的商用(或免費)產(chǎn)品,這些產(chǎn)品通常被用來輔助其核心技術(shù)。 CDT和DSDP這兩個項目或者與嵌入式開發(fā)直接相關(guān),或者被嵌入式供應(yīng)商廣泛使用。許多嵌入式公司(通常是競爭對手)都參與到這些項目,并為之添磚加瓦。 圖1 Eclipse平臺架構(gòu)提供了插件式的開發(fā)方法
C/C++開發(fā)工具(CDT項目)是許多基于Eclipse的嵌入式軟件開發(fā)工具的基礎(chǔ)。該項目使用Eclipse平臺和相應(yīng)的項目瀏覽器作為其IDE,包含了一個具有構(gòu)建(build)和生成(make)功能的GUI,這個GUI包含了GNU C/C++編譯器并提供了到其他嵌入式交叉編譯器的簡單連接。該項目提供了一個C和C++上下文相關(guān)的編輯器。并且,為了便于嵌入式調(diào)試,它包含了基于Eclipse的GUI,此外,還包含了GNU GDB調(diào)試引擎——可以提供軟件的編輯、構(gòu)建(build)和調(diào)試之間的無縫式交互。 因為CDT本身就是標(biāo)準(zhǔn)Eclipse平臺的插件,提供了構(gòu)建(build)和調(diào)試透視圖,所以其他工具很容易就能夠“插入”。這樣它就能夠成為完整的嵌入式系統(tǒng)開發(fā)環(huán)境。 設(shè)備軟件開發(fā)平臺(DSDP)是相對較新的項目,它關(guān)注嵌入式系統(tǒng)調(diào)試的許多方面。最初,DSDP主要關(guān)注用于目標(biāo)管理、設(shè)備調(diào)試、移動Java和嵌入式GUI的構(gòu)建基礎(chǔ)設(shè)施。它包括了eRCP,后者是一個正在移植簡化版Eclipse的項目,該Eclipse適合用于真正地運行在嵌入式系統(tǒng)上, eRCP還提供基于Java的平臺來運行嵌入式應(yīng)用程序。這個項目的其他部分圍繞著調(diào)試器如何與嵌入式目標(biāo)系統(tǒng)通信,并嘗試著為這種通信引入一些新的開放式標(biāo)準(zhǔn)到這個Eclipse項目中。 生命周期
考慮到嵌入式軟件設(shè)計的生命周期,Eclipse為開發(fā)人員額外增加了廣泛應(yīng)用于嵌入式開發(fā)但是并非針對該任務(wù)設(shè)計的工具,這些工具通常都能夠集成到Eclipse中,并能夠以插件方式無縫地與嵌入式專有工具共同工作。 因此,從設(shè)計到部署,嵌入式開發(fā)人員可以從非嵌入式特有的需求和高層次設(shè)計工具著手,然后生成能夠用在構(gòu)建(build)帶有嵌入式編譯器和連接器的透視圖中的代碼。 一旦完成了代碼的建立,開發(fā)人員就可以點擊某個按鈕,切換到調(diào)試透視圖,連接到目標(biāo)設(shè)備,下載代碼并調(diào)試應(yīng)用程序。為了更加詳細的測試和分析,可以使用其他Eclipse透視圖,它們提供了性能剖析(profiling)、分析以及測試工具,以便在部署之前真正地對代碼進行全面的測驗。 真正集成化的工具直接集成在Eclipse框架中,或者插入到某個項目中。例如,直接插入Eclipse框架的工具的優(yōu)勢在于,它們通常能夠與任何其他插件共同工作,這些插件不依賴于Eclipse項目,但是要實現(xiàn)緊密的集成,工具供應(yīng)商還需要進行額外的工作。集成在某個項目(如CDT)中的工具的優(yōu)勢在于,它們通常與那些基于CDT的工具有更加緊密的集成,而且只需要較少的(或完全不需要)集成工作。 來源:[http://www.jdzj.com]機電之家·機電行業(yè)電子商務(wù)平臺! |
|
|