現(xiàn)在在市面上從事嵌入式系統(tǒng)開(kāi)發(fā)這個(gè)行業(yè)的人很少說(shuō)是正兒八經(jīng)從計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)的,很多的人都是從其他的專(zhuān)業(yè)通過(guò)嵌入式培訓(xùn)機(jī)構(gòu)培訓(xùn)進(jìn)入到這個(gè)行業(yè)的,所以在還沒(méi)有系統(tǒng)性的學(xué)習(xí)之前都是不知道這個(gè)開(kāi)發(fā)的步驟是怎么樣的,下面達(dá)內(nèi)科技就先來(lái)給大家講解下,讓大家對(duì)于嵌入式系統(tǒng)開(kāi)發(fā)的步驟有一定的了解先。
步:建立開(kāi)發(fā)環(huán)境
操作系統(tǒng)一般使用Redhat
Linux,選擇定制安裝或全部安裝,通過(guò)網(wǎng)絡(luò)下載相應(yīng)的GCC交叉編譯器進(jìn)行安裝(比如,arm-linux-gcc、arm-uclibc-gcc),或者安裝產(chǎn)品廠(chǎng)家提供的相關(guān)交叉編譯器。
第二步:配置開(kāi)發(fā)主機(jī)
配置MINICOM,一般的參數(shù)為波特率115200
Baud/s,數(shù)據(jù)位8位,停止位為1,9,無(wú)奇偶校驗(yàn),軟件硬件流控設(shè)為無(wú)。在Windows下的超級(jí)終端的配置也是這樣。MINICOM軟件的作用是作為調(diào)試嵌入式開(kāi)發(fā)板的信息輸出的監(jiān)視器和鍵盤(pán)輸入的工具。配置網(wǎng)絡(luò)主要是配置NFS網(wǎng)絡(luò)文件系統(tǒng),需要關(guān)閉防火墻,簡(jiǎn)化嵌入式網(wǎng)絡(luò)調(diào)試環(huán)境設(shè)置過(guò)程。
第三步:建立引導(dǎo)裝載程序BOOTLOADER
從網(wǎng)絡(luò)上下載一些公開(kāi)源代碼的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據(jù)具體芯片進(jìn)行移植修改。有些芯片沒(méi)有內(nèi)置引導(dǎo)裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫(xiě)開(kāi)發(fā)板上FLASH的燒寫(xiě)程序,可以在網(wǎng)上下載相應(yīng)的燒寫(xiě)程序,也有Linux下的公開(kāi)源代碼的J-FLASH程序。如果不能燒寫(xiě)自己的開(kāi)發(fā)板,就需要根據(jù)自己的具體電路進(jìn)行源代碼修改。這是讓系統(tǒng)可以正常運(yùn)行的步。如果用戶(hù)購(gòu)買(mǎi)了廠(chǎng)家的仿真器比較容易燒寫(xiě)FLASH,雖然無(wú)法了解其中的核心技術(shù),但對(duì)于需要迅速開(kāi)發(fā)自己的應(yīng)用的人來(lái)說(shuō)可以極大提高開(kāi)發(fā)速度。
第四步:下載已經(jīng)移植好的Linux操作系統(tǒng)
如MCLiunx、ARM-Linux、PPC-Linux等,如果有專(zhuān)門(mén)針對(duì)所使用的CPU移植好的Linux操作系統(tǒng)那是再好不過(guò),下載后再添加特定硬件的驅(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)生燒寫(xiě)映像文件。
第六步:建立應(yīng)用程序的FLASH磁盤(pán)分區(qū)
一般使用JFFS2或YAFFS文件系統(tǒng),這需要在內(nèi)核中提供這些文件系統(tǒng)的驅(qū)動(dòng),有的系統(tǒng)使用一個(gè)線(xiàn)性FLASH(NOR型)512KB~32MB,有的系統(tǒng)使用非線(xiàn)性FLASH(NAND型)8MB~512MB,有的兩個(gè)同時(shí)使用,需要根據(jù)應(yīng)用規(guī)劃FLASH的分區(qū)方案。
第七步:開(kāi)發(fā)應(yīng)用程序
可以放入根文件系統(tǒng)中,也可以放入YAFFS、JFFS2文件系統(tǒng)中,有的應(yīng)用不使用根文件系統(tǒng),直接將應(yīng)用程序和內(nèi)核設(shè)計(jì)在一起,這有點(diǎn)類(lèi)似于μC/OS-II的方式。
第八步:燒寫(xiě)內(nèi)核
根文件系統(tǒng)和應(yīng)用程序,發(fā)布產(chǎn)品。
嵌入式系統(tǒng)開(kāi)發(fā)的步驟達(dá)內(nèi)科技已經(jīng)給大家整理出來(lái)了,如果說(shuō)你看了之后對(duì)于學(xué)習(xí)嵌入式有任何的疑問(wèn)的話(huà)可以點(diǎn)擊我們的在線(xiàn)咨詢(xún),會(huì)有專(zhuān)業(yè)的嵌入式講師來(lái)給你解答。我們也有嵌入式免費(fèi)試聽(tīng)課程,點(diǎn)擊我們文章下面的獲取試聽(tīng)資格按鈕來(lái)獲取。