歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux業界 >> 擂台戰:嵌入式Linux面臨圖形化挑戰

擂台戰:嵌入式Linux面臨圖形化挑戰

日期:2017/2/27 11:07:34   编辑:Linux業界

最近,計算機嵌入式產業研究顯示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的開發提供了眾多現成的解決方案。

作者:李蓉 丁大勇 來源:賽迪網 




Copyright © Linux教程網 All Rights Reserved