用一種技術(shù)統(tǒng)一企業(yè)級軟件和嵌入式軟件的方法
嵌入式軟件開發(fā)有別于企業(yè)級或桌面軟件開發(fā),而且它們采用的軟件開發(fā)技術(shù)也各有不同。一些嵌入式軟件公司試圖采用Visual Studio這樣的企業(yè)級解決方案實現(xiàn)用戶界面友好的開發(fā)環(huán)境,但是多主機、多目標機、RTOS識別以及嵌入式連接等需求使得集成方案周期很長,難度大,而且不能被IDE制造商完全支持。另一些嵌入式軟件公司選擇編寫或獲取他們自己的IDE,而這樣做又會導(dǎo)致私有接口,降低嵌入式供應(yīng)商的核心競爭力,使支持更加困難。
本文引用地址:http://www.ex-cimer.com/article/148883.htm要改變上述狀況,就要采用一種開放源碼IDE。盡管其源于并應(yīng)用于企業(yè)領(lǐng)域,但由于具有靈活的技術(shù)和授權(quán)模式,因而能使嵌入式供應(yīng)商創(chuàng)建用戶友好的嵌入式工具。這種開放源碼IDE名為Eclipse。在過去幾年中,大部分嵌入式開發(fā)人員已經(jīng)轉(zhuǎn)向Eclipse作為他們選擇的平臺方案。大多數(shù)RTOS供應(yīng)商擁有Eclipse開發(fā)環(huán)境,而且大多數(shù)芯片/內(nèi)核供應(yīng)商已經(jīng)為那些希望開發(fā)自有架構(gòu)的軟件開發(fā)人員提供Eclipse鏈接。
從專有IDE向開放標準IDE轉(zhuǎn)移的動力來自嵌入式軟件開發(fā)人員和嵌入式供應(yīng)商。嵌入式軟件開發(fā)人員受挫于必須為每個芯片或每個RTOS改變開發(fā)環(huán)境,而嵌入式供應(yīng)商也同樣受挫于必須建立和維護IDE。Eclipse環(huán)境能提供與處理器架構(gòu)、主機平臺或嵌入式RTOS無關(guān)的標準接口。
Eclipse的出現(xiàn)在嵌入式領(lǐng)域中具有重要的意義,具體表現(xiàn)為:
1. 主機、語言和環(huán)境的獨立性。大多數(shù)企業(yè)級開發(fā)工具都是專用于在某個平臺上開發(fā)特定類型應(yīng)用程序,通常要采用某種專用語言。而Eclipse是一種可滿足多種開發(fā)需求的IDE,這也是它適合嵌入式開發(fā)的原因之一。Eclipse有此功能得益于插件概念。Eclipse平臺本身不是專用于任何語言、主機或應(yīng)用開發(fā),但可通過滿足特殊要求的插件工具實現(xiàn)專用開發(fā)。
2. 項目模板。盡管Eclipse框架不是專用于某類型的應(yīng)用開發(fā),但有很多開放源碼Eclipse項目可提供很好的新產(chǎn)品開發(fā)切入點。這些項目利用Eclipse插件機制可進行特定應(yīng)用程序開發(fā)。由于這些項目采用與Eclipse平臺相同的開放源碼授權(quán)方式,因此可以被下載,用作滿足特殊應(yīng)用要求的樣例、模板或啟動代碼庫。嵌入式樣例請參考后文有關(guān)Eclipse項目的表述和圖例。
3. Eclipse公共許可(EPL)。EPL允許商業(yè)公司出售集成了開放源碼平臺和項目的開發(fā)工具,而非暗示這些開發(fā)工具應(yīng)免費提供。這意味在面臨嵌入式開發(fā)需求的變化,以及嵌入式產(chǎn)業(yè)新技術(shù)快速發(fā)展時,那些需要不斷完善和維護的復(fù)雜軟件能通過銷售而收回開發(fā)成本。
4. Eclipse的七大支柱。如上所述,由于企業(yè)級產(chǎn)品和嵌入式產(chǎn)品開發(fā)有所不同,因而企業(yè)級軟件提供商很難支持嵌入式需求,產(chǎn)品也很難反映開發(fā)人員的需求。而Eclipse的情況則不然。目前,Eclipse基金會約三分之一的成員公司或是嵌入式公司,或是在積極地服務(wù)于嵌入式產(chǎn)業(yè)。其中包括RTOS公司、芯片公司和嵌入式工具提供商。
由于認識到嵌入式軟件開發(fā)人員的需求對Eclipse基金會的重要性,嵌入式領(lǐng)域現(xiàn)已被公認為Eclipse基金會的七大支柱之一(如圖1所示)。這七大支柱表明了使用Eclipse的關(guān)鍵應(yīng)用類型。對嵌入式領(lǐng)域而言,關(guān)鍵項目中的可視性將確保這種技術(shù)能持續(xù)滿足嵌入式需求。
圖1:Eclipse平臺的七大支柱。
Eclipse的架構(gòu)被設(shè)計成可以接受任何數(shù)量的插件。插件可以是完整的環(huán)境、獨立的應(yīng)用程序或只是現(xiàn)有插件中的附加窗口。編寫插件有嚴格的指南,以確保在不同應(yīng)用中的一致性。另外還有向?qū)?、模板、菜單和例子等形式的幫助,以使實際的API部分更為簡單明了。Eclipse框架和插件的GUI部分都是用Java語言編寫的,而且Eclipse開發(fā)環(huán)境還提供了若干有用的工具套件。
Eclipse項目
開放源碼組織正在Eclipse平臺上開發(fā)大量的項目和子項目。這些項目滿足軟件開發(fā)的通用或特殊要求,并由這些特殊領(lǐng)域中擁有豐富經(jīng)驗的公司管理或領(lǐng)導(dǎo)。對于那些想要通過設(shè)計自己的商用(或免費)產(chǎn)品以補足其核心技術(shù)的公司,這些項目可用作樣例或庫。
C/C++ Dev工具(CDT項目)是許多基于Eclipse的嵌入式軟件開發(fā)工具的基礎(chǔ)。該項目采用Eclipse平臺和相應(yīng)的項目導(dǎo)航作為IDE,其內(nèi)置的建立和生成GUI包括了GNU C/C++編譯器,允許方便地連接到其它嵌入式交叉編譯器。這個項目被用作標準Eclipse平臺上的插件,因此其它工具易于插入,并形成完整的嵌入式系統(tǒng)開發(fā)環(huán)境,從而使許多構(gòu)建和調(diào)試單元能夠充分利用開放源碼帶來的好處。
圖2:顯示頂層項目的Eclipse機構(gòu),綠色部分與嵌入式開發(fā)的關(guān)系密切。
設(shè)備軟件開發(fā)平臺(DSDP)是相對較新的一個項目,該項目考慮了調(diào)試一個嵌入式系統(tǒng)的諸多方面。最初的DSDP專注于為目標管理、設(shè)備調(diào)試、移動Java和嵌入式GUI建立基礎(chǔ)架構(gòu)。該項目還包含eRCP,它能與運行在嵌入式系統(tǒng)上的Eclipse平臺精簡版相接,并為運行嵌入式應(yīng)用提供基于Java的平臺。
Enterprise插件
真正使人感興趣的是企業(yè)級軟件和嵌入式軟件開發(fā)之間的交疊。由于我們確信可以使用相同的Eclipse環(huán)境,因此我們可以著眼于不專用于任何一種開發(fā)、但對嵌入式領(lǐng)域極有價值的開發(fā)工具。例如源碼和版本管理。有許多工具能夠?qū)崿F(xiàn)代碼的跟蹤、版本化和管理,這些工具可以在源文件上使用,而與使用的語言、目標處理器或編譯及建立工具無關(guān)。有許多工具將Eclipse插件用作前端,可被“插入”或使用,相鄰嵌入式開發(fā)工具也有Eclipse前端。每個工具通常有它自己的透視圖(perspective),這是Eclipse中的術(shù)語,代表Eclipse框架中的一系列窗口集合,從一個透視圖移動到另一個透視圖(如從建立透視圖到調(diào)試)只需簡單地按一下按鍵即可。訪問Eclipse平臺和Eclipse項目可登錄www.eclipse.org。訪問商用和開放源碼插件可登錄www.eclipseplugincentral.com。
本文小結(jié)
本文所述的Eclipse是實用的嵌入式開發(fā)環(huán)境。今后開發(fā)人員和嵌入式工具供應(yīng)商能充分利用其真正的即插即用特性為嵌入式開發(fā)創(chuàng)建更多樣例。企業(yè)級系統(tǒng)正被連接到越來越多的嵌入式系統(tǒng),因此能夠跨接兩個系統(tǒng)的環(huán)境變得非常重要,企業(yè)級與嵌入式工具的結(jié)合和開發(fā)將變得更為緊密。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論