您好,歡迎來(lái)到一站式眾包服務(wù)平臺(tái)-威客牛網(wǎng)
當(dāng)前位置:威客牛首頁(yè) > 知識(shí)百科 > IT軟件 > 嵌入式開(kāi)發(fā) > 嵌入式系統(tǒng)開(kāi)發(fā)的流程

嵌入式系統(tǒng)開(kāi)發(fā)的流程

2022-12-04作者:網(wǎng)友投稿
嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器/微處理器、存儲(chǔ)器及外設(shè)器件和I/O端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(OS)(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程。有時(shí)設(shè)計(jì)人員把這兩種軟件組合在一起。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。以下是贏(yíng)在威客網(wǎng)小編整理的嵌入式系統(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)品。
免費(fèi)查詢(xún)商標(biāo)注冊(cè)