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