嵌入式Linux開發流程?

在一個嵌入式系統中使用Linux開發,根據應用需求的不同有不同的配置開發方法,但是一般都要經過如下的過程.

工具/原料

電腦 開發板 網線 串列埠線

linux系統

方法/步驟

1.建立開發環境

作業系統當然是Linux,或者在win系統下裝虛擬機器也可以,選擇定製安裝或全部安裝,通過網路下載相應的GCC交叉編譯器進行安裝,或者安裝產品廠家提供的交叉編譯器。

2.配置開發主機

配置MINICOM,一般的引數為波特率為115 200bps,資料位為8位,停止位為1,無奇偶校驗,軟體硬體流控設為無。在Windows下的超級終端的配置也是這樣的。MINICOM軟體的作用是作為除錯嵌入式開發板的資訊輸出的監視器和鍵盤輸入的工具。配置網路,主要是配置NFS網路檔案系統,需要關閉防火牆,簡化嵌入式網路除錯環境設定過程。

3.建立引導裝載程式BOOTLOADER

從網路上下載一些公開原始碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據自己具體的晶片進行移植修改。有些晶片沒有內建引導裝載程式,這樣就需要編寫開發板上Flash的燒寫程式,網路上有免費下載的Windows下通過JTAG並口簡易模擬器燒寫ARM外圍Flash晶片的燒寫程式,也有Linux下的公開原始碼的J-Flash程式。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行原始碼修改。這是系統正常執行的第一步。如果購買了廠家的模擬器當然比較容易燒寫Flash,這對於需要迅速開發自己產品的人來說可以極大地提高開發速度,但是其中的核心技術是無法瞭解的。

4.下載別人已經移植好的Linux作業系統

如μCLinux、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux作業系統那是再好不過的,下載後再新增自己的特定硬體的驅動程式,進行除錯修改,對於帶MMU的CPU可以使用模組方式除錯驅動,對於μCLinux這樣的系統則需編譯進核心進行除錯。

5.建立根檔案系統

下載使用BUSYBOX軟體進行功能裁減,產生一個最基本的根檔案系統,再根據自己的應用需要新增其他程式。預設的啟動指令碼一般都不會符合應用的需要,所以就要修改根檔案系統中的啟動指令碼,它的存放位置位於/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝檔案系統的配置檔案/etc/fstab,具體情況會隨系統不同而不同。根檔案系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映像檔案。

6.建立應用程式的Flash磁碟分割槽

一般使用JFFS2或YAFFS檔案系統,這需要在核心中提供這些檔案系統的驅動,有的系統使用一個線性Flash(NOR型)512KB~32MB,有的系統使用非線性Flash(NAND型)8~512MB,有的兩個同時使用,需要根據應用規劃Flash的分割槽方案。

7.開發應用程式

應用程式可以放入根檔案系統中,也可以放入YAFFS、JFFS2檔案系統中,有的應用不使用根檔案系統,直接將應用程式和核心設計在一起,這有點類似於μCOS-II的方式。

8.燒寫核心、根檔案系統、應用程式

9.釋出產品

相關問題答案