隨著嵌入式的發展,人們開始了嵌入式學習熱潮,而且嵌入式系統也開始受很多企業的追捧,現在的嵌入式開發技術愈來愈熱,導致現在的嵌入式開發工程師不能滿足企業的用人要求,所以很多人都開始投身到嵌入式的行業,現在就幾步讓你對嵌入式系統開發流程了如指掌,讓你在以后的工作學習中,不會那么迷茫。
首先先來簡單的了解一下嵌入式系統開發流程
1、系統需求分析:根據需求,確定設計任務和設計目標,指定設計說明書。
2、體系結構設計:描述系統如何實現所述的功能需求,包括對硬件、軟件和執行裝置的功能劃分以及系統的軟件、硬件選型。
3、硬件/軟件協同設計:基于體系結構的設計結果,對系統的硬件、軟件進行詳細設計。一般情況下嵌入式系統設計的工作大部分都集中在軟件設計上,現代軟件工程經常采用的方法是面向對象技術、軟件組件技術和模塊化設計。
4、系統集成:把系統的硬件、軟件和執行裝置集成在一起進行調試,發現并改進設計過程中的不足之處。
5、系統測試:對設計好的系統進行測試,檢驗系統是否滿足實際需求。
感覺上面這樣說的,太官方了,感覺也就是能了解一個大致的,嘿嘿,那當然不是了,接下來才是重磅,一步一步帶你走進嵌入式系統開發流程
第一步:建立開發環境
操作系統一般使用Redhat Linux,選擇定制安裝或全部安裝,通過網絡下載相應的GCC交叉編譯器進行安裝(比如,arm-linux-gcc、arm-uclibc-gcc),或者安裝產品廠家提供的相關交叉編譯器;配置開發主機:配置MINICOM,一般的參數為波特率115200 Baud/s,數據位8位,停止位為1,9,無奇偶校驗,軟件硬件流控設為無。在Windows下的超級終端的配置也是這樣。MINICOM軟件的作用是作為調試嵌入式開發板的信息輸出的監視器和鍵盤輸入的工具。配置網絡主要是配置NFS網絡文件系統,需要關閉防火墻,簡化嵌入式網絡調試環境設置過程。
第二步:建立引導裝載程序BOOTLOADER
從網絡上下載一些公開源代碼的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據具體芯片進行移植修改嵌入式系統開發流程嵌入式系統開發流程。有些芯片沒有內置引導裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫開發板上FLASH的燒寫程序,可以在網上下載相應的燒寫程序,也有Linux下的公開源代碼的J-FLASH程序。如果不能燒寫自己的開發板,就需要根據自己的具體電路進行源代碼修改。這是讓系統可以正常運行的第一步。如果用戶購買了廠家的仿真器比較容易燒寫FLASH,雖然無法了解其中的核心技術,但對于需要迅速開發自己的應用的人來說可以極大提高開發速度。
第三步:下載已經移植好的Linux操作系統
如MCLiunx、ARM-Linux、PPC-Linux等,如果有專門針對所使用的CPU移植好的Linux操作系統那是再好不過,下載后再添加特定硬件的驅動程序,然后進行調試修改,對于帶MMU的CPU可以使用模塊方式調試驅動,而對于MCLiunx這樣的系統只能編譯內核進行調試。建立根文件系統:下載使用BUSYBOX軟件進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他的程序
由于默認的啟動腳本一般都不會符合應用的需要,所以就要修改根文件系統中的啟動腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛裝文件系統的配置文件/etc/fstab,具體情況會隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs genromfs等工具產生燒寫映像文件嵌入式系統開發流程。
第四步:建立應用程序的FLASH磁盤分區
一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動,有的系統使用一個線性FLASH(NOR型)512KB~32MB,有的系統使用非線性FLASH(NAND型)8MB~512MB,有的兩個同時使用,需要根據應用規劃FLASH的分區方案。
第五步:開發應用程序
可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似于μC/OS-II的方式。
第六步:燒寫內核
根文件系統和應用程序,發布產品。
這一步一步都是嵌入式系統開發流程,讓你對嵌入式系統更加的了解,這樣對你以后的發展學習還是會有好處的,嵌入式系統開發流程讓你有所得