粵嵌科技相信很多想要學習linux嵌入式的學員都是想要知道這個的開發流程是怎么樣的,在了解了開發流程之后你才能知道你在這個學習的過程中要掌握多少東西,你要學習什么樣的知識才可以開發出這樣的項目,今天粵嵌科技就來給大家簡述下linux的嵌入式軟件開發流程:
1.建立開發環境操作系統當然是Linux,或者在win系統下裝虛擬機也可以,選擇定制安裝或全部安裝,通過網絡下載相應的GCC交叉編譯器進行安裝,或者安裝產品廠家提供的交叉編譯器。
2.配置開發主機配置MINICOM,一般的參數為波特率為115 200bps,數據位為8位,停止位為1,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣的。MINICOM軟件的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。配置網絡,主要是配置NFS網絡文件系統,需要關閉防火墻,簡化嵌入式網絡調試環境設置過程。
3. 學會UBOOT的移植,這里不需要自己去編寫,我們需要了解uboot的結構,并且對他進行相應的功能添加和裁剪,了解uboot其實就是對硬件的初始化裸機程序。開發板上電之后初始化內存,將uboot放到內存去執行,執行完成之后將一些傳遞給內核的參數放入boot parametors之后從設置好的地址取出kernel部分加載到內存,將程序執行權限交給kernel.
4. 學會kernel的配置和移植。在這之前首先要熟悉makefile的基本規則,通過meuconfig進行內核圖形化的配置,完成后執行頂層makefile進行內核的生成。生成的內核需要設置很多參數,其中重要的就是對文件系統的支持,執行完內核程序之后init進程就可以創建其他進程,實現多進程的工作。
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的方式。
Linux嵌入式軟件開發的流程粵嵌科技就給大家介紹到這里了,如果說你對于linux嵌入式還有什么專業上的疑問的話那么大家可以點擊我們的在線咨詢,然后我們會有專業的講師來給大家解答。如果說想要學習linux嵌入式的話也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的linux嵌入式課程免費試聽資格,在試聽中更加深入的了解粵嵌科技。