配置開發主機
移植bootloader
linux內核移植
建立並燒寫根文件系統到目標板
開發嵌入式應用程序
部署與配置系統
(1)建立交叉開發環境
開發主機的操作系統一般選用某一個發行版本號的linux系統,如RedHatlinux等。linux內核版本號能夠依據項目的詳細需求而定,如2.4內核或者2.6內核。選擇定制安裝或所有安裝,通過網絡下載對應的gcc交叉編譯器進行安裝(比方arm-linux-gcc,arm-uclibc-gcc等),或者安裝產品廠家提供的交叉編譯器。
(2)配置開發主機
配置開發主機包含在開發主機上安裝linux系統,配置交叉連接工具,如串口和網絡接口。
(3)建立引導裝載程序bootloader
從網絡上下載一些公開源碼的bootloader,依據自己詳細芯片進行移植改動。
(4)移植嵌入式linux操作系統
我們做的是嵌入式應用。那么這些應用須要跑在一定的操作系統上(嵌入式操作系統)。比較經常使用的有uclinux。arm-linux,ppc-linux等。最好的情況是,已經有針對所選擇的cpu平台的嵌入式linux系統。下載后再加入自己的特定取得調試。
(5)建立跟文件系統
能夠從htth://busybox.net/下載BusyBox軟件,對其進行功能裁剪。得到一個最主要的根文件系統,在依據自己的應用須要加入其它的程序。默認的啟動腳本一般都不符合應用的須要,所以須要改動根文件系統的啟動腳本。該啟動腳本放在/etc 文件夾下。根文件系統在嵌入式系統中一般設為僅僅讀,須要使用mkcramfs。genromfs等工具生成映像文件。可是有些嵌入式系統直接不使用根文件系統。
(6)建立應用程序的Flash磁盤分區
嵌入式系統不使用磁盤作為外存,一般使用Flash。一般使用JFFS2或者YAFFS文件系統,須要在內核中提供這些文件系統的驅動。
(7)開發應用程序
應用程序能夠和根文件系統放在一個分區,也能夠存在其它YAFFS或者YFFS2等分區中。
(8)部署與配置系統產品的測試和公布
應用程序開發結束后,須要燒寫內核。根文件系統,應用程序。最后進行產品的測試和公布。