新聞中心

        EEPW首頁 > 嵌入式系統 > 嵌入式Linux面臨圖形化挑戰

        嵌入式Linux面臨圖形化挑戰

        ——
        作者:李蓉 丁大勇 時間:2007-02-28 來源:賽迪網 收藏

        最近,計算機嵌入式產業研究顯示Linux系統是大多數嵌入式開發項目的首選操作系統。起初,Linux只是一種簡單的解決方案,為愛好者提供了一個免費且功能強大的開發平臺。但是現在它已逐步成為一個成熟、穩定、功能強大且倍受關注的操作系統。
        Linux操作系統涉獵的范圍從程序控制系統、個人數字助理(PDAs)及家用電器到桌面系統和高端網絡服務器,乃至于功能強大的計算集群和復合處理器系統。

        Linux的種種優勢使得它在整個計算機領域魅力十足,特別是在嵌入式系統方面尤為突出。比起一些所有權,Linux的價格、性能及靈活性等有利條件是顯而易見的。

        在Linux被引入嵌入式開發之前,大多數嵌入式技術開發人員很少進行跨平臺的開發研究,因為他們所用的操作系統只能在目標硬件上運行。Linux逐漸在嵌入式領域擴大戰場的同時,跨平臺開發方案,即原本在一個平臺上開發的應用軟件也可以在其它平臺上進行開發和編譯,也已廣泛應用于嵌入式系統的開發實踐中。

        然而,大多數新的嵌入式方案以Linux系統為開發平臺并不意味著Linux系統是惟一的選擇。西方有句俗語:效仿是表達恭維的最好方式。

        目前,有多家所有權嵌入式系統的廠商也效仿Linux系統取消了其操作系統的使用費用。同樣,他們也模仿Linux系統源代碼的開放性,開始免費為消費者提供其操作系統的源代碼。Linux面臨著各方面的挑戰。

        開發工具的圖形化挑戰

        許多嵌入式軟件開發項目都很復雜,造成這種復雜性的主要原因如下:
        ◆ 應用軟件的復雜性可能源于所使用的運算法則,也可能源于設計方案(比如復雜的客戶應用程序或服務器應用程序),或者二者兼而有之。
        ◆ 用戶的應用程序與其它應用軟件乃至操作系統間的相互作用也可能會帶來問題,這需要用戶對系統進行長期不間斷地監測。
        ◆ 系統和資源限制可能導致反復地重寫或優化過程。
        ◆ 標準的系統庫和關聯程序設計技術也許無法應用于特殊的架構,用戶不得不選擇或開發其它替代方案。
        ◆ 在功能有限的情況下,很難對應用軟件進行遠程調試和維護。
        雖然,以上這些問題對于在嵌入式應用軟件開發和操作系統等方面有足夠經驗的專業人員來說都很好解決,但沒人能保證身邊總有專家。因此,最好的解決辦法就是使用工具軟件,以便更容易對嵌入式軟件進行開發、監控和調試。

        眾所周知,圖形用戶界面(GUI)已經成為計算領域不可缺少的工具。它使電腦從一個專業化工具轉變成普通的辦公設備和家用電器。雖然操作系統可以提供應用軟件開發所需的基本功能,但是,一個簡單易用的圖形環境和與之相適應的工具軟件才是構成開發平臺的真正要素。

        多年來,所有權操作系統和實時操作系統(RTOS)的廠商在所有權產品領域一直致力于提供應用軟件開發工具。

        雖然這些為所有權操作系統量身定做的開發工具功能強大,但應用范圍卻局限于特定的操作系統。當前市場環境下,大多數嵌入式產品廠商為了開發新的嵌入式項目轉而采用Linux技術,因此迫切需要一種能支持Linux、功能強大且簡便易用的嵌入式軟件開發工具。

        所有權廠商指出,目前市場上有很多不同的Linux套件,而且每個套件都有特定的市場或服務,市場似乎并不完整。然而,多種版本Linux的存在恰恰證明了Linux的發展潛力,以及它能滿足廣大用戶不同需求的能力。Linux特有的靈活性也需要一系列適用于各種Linux套件的圖形化開發工具。

        嵌入式開發工具的目標

        構成Linux系統的基本要素如下:

        ◆ Linux內核 內核是操作系統的核心,它能提供各種硬件所需的驅動程序、總線和協議支持等。
        ◆ 根文件系統 它是系統應用軟件、系統啟動程序、系統設置程序和用戶應用軟件的“儲藏室”。
        ◆ 工具鏈 它用來編輯內核、可加載內核模塊和應用軟件,并且可以由根文件系統中的程序和系統可訪問的其它文件系統來執行。

        所有的Linux系統都使用內核和核心工具鏈(GNU GCC),只是配置不同。所有Linux根文件系統都包含有開放系統社區提供的各種程序,只是不同版本的Linux根文件系統所選擇的軟件包及其配置的子集有所不同。

        嵌入式Linux開發工具面臨的挑戰是如何適應不同版本的Linux內核、工具鏈和文件系統軟件包,以及如何對其進行定制,以便開發人員使用它們。

        桌面和服務器應用軟件開發者可以依托性能強大且運行穩定的硬件平臺提供一系列優質服務,而嵌入式系統及其應用軟件的開發人員需要有更廣泛、更豐富的知識。他們不得不在開發過程中考慮以下幾點:

        ◆ 通過一個低級別的硬件端口,比如JTAG,對主板及新硬件或定制硬件進行初始化;
        ◆ 為新硬件或定制硬件選擇、安裝并配置引導裝載程序;
        ◆ 可能需要定制內核并開發驅動程序;
        ◆ 系統級調試需要附帶遠程訪問功能,以便及時準確地解決系統中出現的問題;
        ◆ 根文件系統的開發,包括開發過程中使用的、存儲于內存或宿駐于網絡的文件系統,以及其它在Flash或本地存儲器中建立并維護的文件系統;
        ◆ 應用軟件的開發;

        ◆ 使用遠程連接方式對應用軟件進行調試,以便于進行遠端激活和運行分析,這將簡化嵌入式系統中應用軟件更新的過程;

        ◆ 對新產品進行測試驗證確認,有助于用戶對任意組合的系統和應用軟件反復進行標準測試。完成這些令人頭痛的工作需要各種不同的技能。而圖形化工具可以將所需的各種操作模塊化,原本復雜至極的工作,現在也許只需要點擊幾下鼠標就可以完成。這對于開發人員來說,無疑是一種極大的解脫。

        應用TimeSys公司的TimeStorm Linux開發套件(LDS),通過點擊選單上的相應選項就可以建立各種類型的文件系統。其它復雜的過程,比如,文件系統格式化和提供訪問端口等都無須開發人員手動完成。

        Eclipse多功能架構

        TimeStorm工具組件支持兩個目前應用最廣泛、功能最強大的Linux系統圖形環境,一個是X-Window系統,它幾乎是所有Unix和Linux圖形開發的基礎;另一個是Eclipse結構,該結構擴展性很強,可以建立或分配各種以開發為導向的應用軟件,這些應用軟件可以相互共存并相互作用。

        Eclipse是一個開源軟件開發項目,其主要任務是為開發高集成性工具提供一個健壯的、功能齊全的平臺。與操作系統廠商不同,它采用行業中普遍使用的開放系統架構來開發嵌入式Linux工具。

        這種架構可支持所有廠商的產品,提供統一的圖形化描述及操作,并且所有的工具都可以在該架構中協調配合。用戶不必再由于開發工具的相互不兼容性而必須使用單一廠商提供的特定產品。

        Eclipse提供了一個適用于各種應用軟件的基礎架構。這些應用軟件在Eclipse中被稱為“插件”,它們在架構中互動工作。這使得協同開發成為可能,工具軟件廠商可以根據不同需要確定不同的發展方向,不用擔心自己的插件無法與其它插件實現完美的集成。為了實現最大限度的兼容,Eclipse全部由Java語言編寫。

        Eclipse已被多家知名的嵌入式工具廠商采用,比如,TimeSys、Wind River、RTI和MontaVista等。甚至有行家預測未來所有工具軟件的開發都將由Eclipse來完成。

        TimeSys公司的TimeStorm IDE(Integrated Development Environment)就是一組Eclipse插件,它能為嵌入式應用軟件的開發、調試及測試提供一個功能強大的開發環境。TimeStorm IDE不需要任何特殊功能就可以與源代碼控制系統(SCCS)集成在一起,后者主要用于將各種應用軟件源代碼分類存檔。

        不僅如此,Eclipse中的插件可以即時與TimeStorm IDE進行集成。這些插件都可以提供訪問各種版本控制系統的端口,比如,CVS、Perforce、Rational ClearCase和Subversion等。
        小結

        如今,用于嵌入式系統開發、配置和測試的軟件開發工具越來越多。Linux固有的強大功能和靈活性使它成為很多新的嵌入式方案的首選平臺。

        然而,讓優秀的產品迅速進入市場不僅要依靠一個自由的、功能強大的操作系統,還要依靠性能強大的工具軟件。這些軟件能使嵌入式的開發、配置和測試簡單化,是提供解決各種復雜問題的百寶箱。

        開源軟件提供的工具平臺,比如Eclipse 架構,極大地推動了此類軟件的開發和普及。TimeSys公司的TimeStorm IDE、TimeStorm LDS,以及TimeStorm LVS等基于Eclipse的軟件工具為嵌入式Linux的開發提供了眾多現成的解決方案。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乃东县| 蕉岭县| 灌阳县| 临高县| 马边| 二连浩特市| 务川| 灵寿县| 安陆市| 山丹县| 新巴尔虎左旗| 黄冈市| 湖南省| 长宁县| 越西县| 高州市| 洞口县| 南安市| 临汾市| 新平| 革吉县| 泸定县| 大庆市| 海门市| 科技| 墨江| 钦州市| 宿松县| 琼结县| 克东县| 宜君县| 凤阳县| 连州市| 泾源县| 稷山县| 仪征市| 东莞市| 仁化县| 西充县| 仪陇县| 宜宾县|