達(dá)內(nèi)科技相信很多想要學(xué)習(xí)linux嵌入式的學(xué)員都是想要知道這個(gè)的開(kāi)發(fā)流程是怎么樣的,在了解了開(kāi)發(fā)流程之后你才能知道你在這個(gè)學(xué)習(xí)的過(guò)程中要掌握多少東西,你要學(xué)習(xí)什么樣的知識(shí)才可以開(kāi)發(fā)出這樣的項(xiàng)目,今天達(dá)內(nèi)科技就來(lái)給大家簡(jiǎn)述下linux的嵌入式軟件開(kāi)發(fā)流程:
1.建立開(kāi)發(fā)環(huán)境操作系統(tǒng)當(dāng)然是Linux,或者在win系統(tǒng)下裝虛擬機(jī)也可以,選擇定制安裝或全部安裝,通過(guò)網(wǎng)絡(luò)下載相應(yīng)的GCC交叉編譯器進(jìn)行安裝,或者安裝產(chǎn)品廠家提供的交叉編譯器。
2.配置開(kāi)發(fā)主機(jī)配置MINICOM,一般的參數(shù)為波特率為115
200bps,數(shù)據(jù)位為8位,停止位為1,無(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ò)程。
3.
學(xué)會(huì)UBOOT的移植,這里不需要自己去編寫(xiě),我們需要了解uboot的結(jié)構(gòu),并且對(duì)他進(jìn)行相應(yīng)的功能添加和裁剪,了解uboot其實(shí)就是對(duì)硬件的初始化裸機(jī)程序。開(kāi)發(fā)板上電之后初始化內(nèi)存,將uboot放到內(nèi)存去執(zhí)行,執(zhí)行完成之后將一些傳遞給內(nèi)核的參數(shù)放入boot
parametors之后從設(shè)置好的地址取出kernel部分加載到內(nèi)存,將程序執(zhí)行權(quán)限交給kernel.
4.
學(xué)會(huì)kernel的配置和移植。在這之前首先要熟悉makefile的基本規(guī)則,通過(guò)meuconfig進(jìn)行內(nèi)核圖形化的配置,完成后執(zhí)行頂層makefile進(jìn)行內(nèi)核的生成。生成的內(nèi)核需要設(shè)置很多參數(shù),其中重要的就是對(duì)文件系統(tǒng)的支持,執(zhí)行完內(nèi)核程序之后init進(jìn)程就可以創(chuàng)建其他進(jìn)程,實(shí)現(xiàn)多進(jìn)程的工作。
5.
建立根文件系統(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ě)映像文件。
6.
建立應(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型)8~512MB,有的兩個(gè)同時(shí)使用,需要根據(jù)應(yīng)用規(guī)劃Flash的分區(qū)方案。
7.
開(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)似于μCOS-II的方式。
Linux嵌入式軟件開(kāi)發(fā)的流程達(dá)內(nèi)科技就給大家介紹到這里了,如果說(shuō)你對(duì)于linux嵌入式還有什么專(zhuān)業(yè)上的疑問(wèn)的話(huà)那么大家可以點(diǎn)擊我們的在線(xiàn)咨詢(xún),然后我們會(huì)有專(zhuān)業(yè)的講師來(lái)給大家解答。如果說(shuō)想要學(xué)習(xí)linux嵌入式的話(huà)也可以點(diǎn)擊我們文章下面的獲取試聽(tīng)資格按鈕來(lái)獲取我們的linux嵌入式課程免費(fèi)試聽(tīng)資格,在試聽(tīng)中更加深入的了解達(dá)內(nèi)科技。