嵌入式系統開發流程

來源:酷知科普網 6.72K

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

嵌入式系統開發流程

嵌入式系統開發流程

(01)建立開發環境,作業系統一般使用Redhat Linux,選擇定製安裝或全部安裝,通過網路下載相應的GCC交叉編譯器進行安裝(比如,arm-1inux-gcc、arm-uclibc-gcc),或者安裝產品廠家提供的相關交叉編譯器;

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

(03)建立引導裝載程式BOOTLOADER,從網路上下載一些公開原始碼的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據具體晶片進行移植修改。有些晶片沒有內建引導裝載程式,比如,三星的ARV17、ARM9系列晶片,這樣就需要編寫開發板上FLASH的燒寫程式,可以在網上下載相應的燒寫程式,也有Linux下的公開原始碼的J-FLASH程式。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行原始碼修改。這是讓系統可以正常執行的第一步。如果使用者購買了廠家的模擬器比較容易燒寫FLASH,雖然無法瞭解其中的核心技術,但對於需要迅速開發自己的應用的人來說可以極大提高開發速度。

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

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

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

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

(08)燒寫核心、根檔案系統和應用程式,釋出產品。

熱門標籤