天天看點

嵌入式開發基礎(3)

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3713782

嵌入式開發基礎(3)

一、嵌入式Linux釋出包

Linux核心啟動-->查找和mount根檔案系統-->啟動腳本可運作程式和工具

大多數Linux應用程式依賴1個或多個系統庫,其它的程式則需要配置檔案和日志檔案。

總的來說,即使是嵌入式Linux系統,也需要依賴很多根檔案系統下适當目錄下的檔案。

完整Linux桌面系統,其根檔案系統下有數千個檔案。這些檔案通常按功能進行分組,放入多個包内。

使用包管理器安裝和管理這些包。

Red Hat的包管理器為rpm。

可使用指令rpm -qa 列出安裝在系統下的所有包。

每個包由多個檔案組成,一些包包含了數百個檔案。一個複雜的Linux釋出包包含了成千上萬個包。

在嵌入式Linux也能看到的包有:

  -initscripts 包含基本的系統啟動和關閉的腳本

  -apache 實作了流行的Apache Web伺服器

  -telnet-server 包含實作telnet伺服器功能所需的檔案,允許為嵌入式目标闆建立Telnet會話

  -glibc 标準C庫

  -busybox 在UNIX/Linux系統常用的數十個指令行工具的緊湊版本

嵌入式Linux釋出包有一些不同。

首先,嵌入式釋出包的可執行檔案在PC下是不能運作的,而隻能運作在目标闆上。

其次,嵌入式釋出包一般都包括了交叉工具。

商業嵌入式Linux釋出包

1)AMIRIX: Embedded Linux

源于标準、開源的Debian GNU/Linux,支援Flash。

2)Coollogic: Coollinux

結合了嵌入式Linux和Java技術。

3)Coverntive: XLinux

完整特征的嵌入式Linux核心,可配置143KB大小。

4)Esfia: RedBlue Linux

源于Linux2.4核心,400KB

5)KaeilOS

前生為Klinux

6)KYZO: PizzaBox Linux 

運作在486或更高CPU

7)Lineo: Embedix

支援的CPU包括:x86、PowerPC、ARM、MIPS等。

8)LynuxWorks: BlueCat 

9)Mizi: Linu@

帶GUI,建立于Qt/Embedded。支援的處理器包括ARM、StrongARM、MIPS、x86和MPC。

10)MontaVista: Hard Hat Linux

Hard Hat Linux交叉開發工具。

11)Neoware: NeoLinux

源于Red Hat。

12)PalmPalm: Tynux

網絡裝置,包括MP3播放器、視訊播放器、網際網路TV、PDA、蜂窩電話、視訊會議裝置、視訊電話等。

13)Red Hat: Embedded Linux

14)REDSonic: RedIce-Linux

嵌入式單闆機。

15)RidgeRun: DSPLinux

ARM核心、帶DSP處理器。

16)SysGo: ELinOS Embedded Linux

基于Linux核心2.4

17)TimeSys: Linux GPL

18)Tuxia: TASTE

目标為網絡裝置,包括Webpads、機頂盒、瘦用戶端、帶螢幕的電話。

19)Vitals System: vLinux

基于ARM。

20)Wind River Linux

實時核心。

建立自己的Linux釋出包

所需做的是編譯核心和使用者空間的應用程式。

這些釋出包一般以源碼的形式給出,你必須先編譯工具以适合特定平台的交叉開發環境,一些工具的“穩定”狀态的源包常常還包含更新檔,滿足一些特殊需求。