linux嵌入式開發環境
Ⅰ 嵌入式linux系統開發的具體步驟_嵌入式linux系統的搭建流程和要點
第一步、建立交叉編譯環境
沒有交叉開發經驗的讀者,可能一時很難接受這個概念。首先,要明白兩個概念:一般我們工作的機器,稱為開發機、主機;我們製作好的系統將要放到某台機器,如手機或另一台PC機,這台機我們稱為目標主機。
我們一般開發機上已經有一套開發工具,我們稱之為原生開發套件,我們一般就是用它們來寫程序,那麼,那什麼又是交叉編譯環境呢?其實一點也不神秘,也就是在開發岩困機上再安裝一套開發工具,這套開發工具編譯出來的程序,如內核、系統工作或者我們自己的程序,是放在目標主機上運行的。
那麼或許有初學者會問,直接用原生開發工具為目標主機編譯程序不就完了?至少我當初是這么想的。此棗絕一般來說,我們的開發機都是X86平台,原生開發套件開發的工具,也針對X86平台,而我們的目標主機可能是PowerPC、IXP、MIPS所以,我們的交叉編譯環境是針對某一類具體平台的。
一般來講,交叉開發環境需要二進制工具程序、編譯器、C鏈接庫,嵌入式開發常用的
這三類軟體是:BinutilsGuClibc
當然,GNU包含的工具套件不僅於此,你還要以根據實際需要,進行選擇
第二步、編譯內核
開發工具是針對某一類硬體平台,內核同樣也是。這一步,我們需要用第一步中建立的工具,對內核進行編譯,對於有內核編譯經驗的人來說,這是非常簡單的;
第三步、建立根文件系統
也就是建立我們平常看到的bin、dev、proc這一大堆目錄,以及一些必備的文件;
另外,我們還需要為我們的目標系統安裝一些常用的工具軟體,如ls、ifconfig當然,一個辦法是找到這些工具的源代碼,用第一步建立的交叉編譯工具來編譯,但是這些軟體一是森姿數量多,二是某些體積較大,不適合嵌入式系統,這一步,我們一般都是用busybox來完成的,包括系統引導軟體init;
最後,我們為系統還需要建立初始化的引導文件,如inittab
Ⅱ 關於嵌入式Linux系統
1.1嵌入式Linux系統硬體環境
圖4.1開發環境硬體連接
通常基於嵌入式linux系統的開發環境一般由目標機、開發板、交叉編譯工具鏈、遠程調試工具和下載機制組成。本課題的工作是在裝有linux操作系統(RedHat9.0)的目標機和基於S3C2410a的目標板上進行的。
設置串列介面
串列介面主要是用來埋氏目標板發送命令並監測目標板在程序運行過程中的輸出信息。
要講開發板COM1口與PC機的COM口分別用串口線連接好,而在主機端,用minicom與armsys2410用串口線連接好後進行通訊。
首先,設置minicom。用鍵盤在命令行輸入minicom,輸入後選定Serialportsetup然後按設置健A健設置SerialDevice,接著輸入PC上接入的串列介面號,如果這個系統與串口1相接,相應寫入/dev/ttyS0。接著需要設置傳輸速率,我們需要設置的傳輸速率為11520,按下E鍵,設置波特率為11520,設置完成後,沒有奇偶校驗,沒有軟體控制流和硬體控制流。設置完成後,選擇為默認設置並保存退出。
設置完成後講開發板復位,這時系統就會顯示系統啟動列印的信息。
1.2嵌入式linux系統軟體環境
筆者的研究方向主要著重點在於嵌入式linux系統的軟體開發層面。嵌入式linux系統可以開發的上層軟體多種多樣,如果從從軟體分慧液段析的角度來看大致可以分為四個層次:
一、操作系統的引導。操作系統中要有引入載入程序,主要包括固件(firmware)和Bootloader(引導載入程序)兩部分。
二、系統的管控內核。為了更好的分配系統資源,必須要對特定的硬體平台和實際應用移植操作前譽系統linux,這是進程管理的一個重要的部分,這里主要包含了定製內核以及控制內核引導系統的參數。
三、系統文件的引導建立。文件的建立是指文件存在的物理空間,linxu系統中每一個分區都是一個文件系統,都包含自己的目錄層次結構,這其中也包括根文件系統(RamDisk)和建立於Flash之上的文件系統。一個系統的操作離不開文的操作,因此要有而且要維護自己的文件系統。
四、軟體上的程序用戶。經過多年的積累和開發,在自由軟體中不斷努力的人們為開放源碼領域貢獻了許多優秀的軟體。針對客戶的不同需求,為客戶量身打造,甚至可以加入圖形界面,可以更方便用戶的使用。但是嵌入式linux系統不管如何構建,都離不開以下幾點:
1)在嵌入的目標機裝上交叉編譯工具。
2)Bootloader是依賴於開發板硬體而實現編寫的。
3)根據客戶需求編譯嵌入式Linux內核和裁剪冗餘。
4)根據客戶需要和系統運行的需要來編寫設備驅動程序和嵌入式linux應用程序。
5)最後也是最重要的一個部分構建系統文件的目錄。