摘要:本文主要分析嵌入式Linux系統的特點、開發平臺、開發工具和系統的主要缺點。另外以Linux為基礎。介紹嵌入式系統、Linux操作系統。探討Linux系統的測試體系及采用Linux作為嵌入式系統的軟件開發方法,Linux嵌入式系統進行了研究與分析。
關鍵詞:嵌入式操作系統 Linux
中圖分類號:TP316.6
文獻標識碼:A
文章編號:1002-2422(2010)03-0134-02
嵌入式系統是以應用為中心,以計算機技術為基礎、軟件硬件可裁剪、適應應用系統。對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。是集軟硬件于一體可獨立工作的計算機系統,通常是更大系統中一個完整的部分。嵌入式系統開發包括硬件設計、軟件基礎平臺的構建、應用開發等諸多步驟,是一項復雜的工作。
1Linnux系統
1,1系統特點
Linux源代碼的開放性為嵌入式操作系統應用提供了非常廣闊的前景,將Linux應用于嵌入式系統開發環境中已十分廣泛。
Linux系統的主要特點:
(1)Linux系統是模塊化結構且內核完全開放。
(2)強大的網絡支持功能。
(3)Linux具有廣泛的硬件支持特性。
(4)較強的可移植性。
(5)模塊化程度高。
(6)源碼公開。
(7)安全性及可靠性好。
(8)與UNIX完全兼容。
Linux系統的主要功能:
(1)存儲管理。
(2)進程管理。
(3)文件系統。
(4)進程間通信,
1,2開發平臺
系統硬件平臺主要有現在流行的Intel公司的Stron-gARM系列、Motorola公司的DragonBall系列、NEC公司的VR系列和Hitachi公司的SH3、SH4系列等。
而系統軟件操作平臺由于受嵌入式系統硬件的限制。通常只具有極少的硬件資源。如主頻較低的CPU、較小的內存、小容量的固態電子盤芯片DoC或DoM替代磁盤等。
1,3開發工具
(1)交叉編譯環境,基于GUN工具的Linux可以有基于ARM體系結構的編譯器、鏈接器、調試器以及實用程序。
(2)交叉編譯和鏈接。將編寫好的嵌入式軟件經過交叉編譯和交叉鏈接后通常會生成兩種類型的可執行文件,可用于調試的可執行文件和用于固化的可執行文件。
(3)NP3輔助開發環境建立。主要依據宿主機和目標板的設計原則,實現開發環境的建立。
1,4系統主要缺點
(1)linux需要使用“指令列”的終端機模式進行系統的管理。
(2)沒有特定的支持廠商。
(3)圖形接口作的還不夠好。
(4)linux在系統內核的實時性方面不足,具有較高的吞吐量。
2基于Linux嵌入式系統的體系結構
根據國際電氣和電子工程師協會的定義,嵌入式系統是“控制、監視或者輔助設備、機器和車間運行的裝置”,其體系結構如下:
(1)嵌入式處理器,目前常用的嵌入式處理器可分為低端的嵌入式微控制、中高端的嵌入式微處理器、用于計算機通信領域的嵌入式DSP處理器和高度集成的嵌入式片上系統。
(2)嵌入式外圍設備,目前常用的嵌入式外圍設備按功能可以分為存儲設備、通信設備和顯示設備三類。
(3)嵌入式操作系統。主要包括兩個操作系統,一類是面向消費電子產品的非實時系統,這類設備包括個人數字助理、移動電話、機頂盒等;另一類則是面向控制、通信、醫療等領域的實時操作系統,如WindRiver公司的VxWorks和QNX系統軟件公司的QNX等。
(4)嵌入式應用軟件。嵌入式軟件就是基于嵌入式系統設計的軟件,也是計算機軟件的一種,同樣由程序及其文檔組成,可細分成系統軟件、支撐軟件、應用軟件三類,是嵌入式系統的重要組成部分。嵌入式應用軟件和普通應用軟件有一定的區別,不僅要求其準確性、安全性和穩定性等方面能夠滿足實際應用的需要,而且還要盡可能地進行優化,以減少對系統資源的消耗,降低硬件成本。
3基于Linux嵌入式系統的軟件開發方法
嵌入式系統的軟件常用的開發模式是宿主機一目標機模式。主要以交叉編譯工具環境為基礎,研究嵌入式系統的軟件開發方法。宿主機作為編譯Linux內核以及上層的各種應用程序的編程平臺,使應用程序能夠運行在嵌入式目標板上,負責項目管理以及燒寫系統內核等工作。交叉編譯工具環境主要由binutils、gee和glibc等幾個重要部分組成:
(1)binutils包括GNU的鏈接器ld、匯編代碼編譯器as、用來將文件打包重組的ar以及為ar打包的文件建立符號表的ranlib等工具。
(2)GNU是C編譯器。
(3)glibc是GNU的C庫,有時出于減小libc庫大小的考慮,也可以用別的c庫來代替glibc,例如uClibc、di-etlibc和newlib。
4結束語
隨著Linux實時性能的逐步完善,Linux將在嵌入式實時應用中發揮巨大的作用。同時隨著Linux系統的不斷發展以及在商業領域的廣泛應用,可以表明,開發基于Linux的嵌入式系統具有廣闊的應用前景。
在嵌入式系統的領域,Linux源代碼的開放性為嵌入式系統的開發提供了堅固的根基,將來開放源碼的Linux的嵌入式系統軟件開發方法會被越來越多的人熟知并掌握,基于Linux的嵌入式產品也會更加豐富。