IT這個高薪的行業(yè)不管是在什么時候都會有很多的人想要進入到這個行業(yè),那么這個行業(yè)中嵌入式linuc開發(fā)是受到大家的歡迎了。對于嵌入式linuc開發(fā)流程你了解多少呢?今天達內(nèi)科技的這篇文章就帶著大家來一起了解下嵌入式linux開發(fā)的流程。
嵌入式linux開發(fā)流程:
1.搭建前期的開發(fā)環(huán)境,例如搭建linux主機環(huán)境,交叉編譯器的安裝,還有一些常用的開發(fā)輔助軟件如source insight等等。
2.學(xué)習(xí)對硬件的直接操作,這里和單片機操作類似,我們需要查看原理圖還有數(shù)據(jù)手冊對相應(yīng)的寄存器進行操作,實現(xiàn)功能。
這里只需要學(xué)會簡單的IO,中斷,定時器,串口就可以,后面的存儲器,IIC,LCD,AD,DA等可以大致了解一下,需要用到時候著重學(xué)習(xí)。
3.學(xué)會UBOOT的移植,這里不需要自己去編寫,我們需要了解uboot的結(jié)構(gòu),并且對他進行相應(yīng)的功能添加和裁剪,了解uboot其實就是對硬件的初始化裸機程序。開發(fā)板上電之后初始化內(nèi)存,將uboot放到內(nèi)存去執(zhí)行,執(zhí)行完成之后將一些傳遞給內(nèi)核的參數(shù)放入boot
parametors之后從設(shè)置好的地址取出kernel部分加載到內(nèi)存,將程序執(zhí)行權(quán)限交給kernel.
4.學(xué)會kernel的配置和移植。在這之前首先要熟悉makefile的基本規(guī)則,通過meuconfig進行內(nèi)核圖形化的配置,完成后執(zhí)行頂層makefile進行內(nèi)核的生成。生成的內(nèi)核需要設(shè)置很多參數(shù),其中重要的就是對文件系統(tǒng)的支持,執(zhí)行完內(nèi)核程序之后init進程就可以創(chuàng)建其他進程,實現(xiàn)多進程的工作。
5.學(xué)會通過busybox制作一個文件系統(tǒng),對文件系統(tǒng)進行支持庫的移植,完成之后構(gòu)建設(shè)備節(jié)點等,終生成鏡像文件燒寫到固定的位置。
6.學(xué)會驅(qū)動的開發(fā),知識簡單了解。對于內(nèi)核驅(qū)動的添加大致就是對一個關(guān)鍵結(jié)構(gòu)體的內(nèi)容添加,這里和STM32庫函數(shù)包形式差不多,但是很復(fù)雜。
7.開發(fā)應(yīng)用程序,應(yīng)用程序可以放入根文件系統(tǒng)中,也可以放入YAFFS、JFFS2文件系統(tǒng)中,有的應(yīng)用不使用根文件系統(tǒng),直接將應(yīng)用程序和內(nèi)核設(shè)計在一起,這有點類似于μCOS-II的方式。
8.
燒寫內(nèi)核、根文件系統(tǒng)、應(yīng)用程序。作為現(xiàn)代操作系統(tǒng)的代表之一,Linux操作系統(tǒng)非常復(fù)雜,內(nèi)部有多得令人眼花繚亂的各種組件在同步運行和相互通信。
以上就是達內(nèi)科技給大家整理關(guān)于嵌入式linux開發(fā)流程的內(nèi)容了,如果說你對于學(xué)習(xí)嵌入式linux有興趣的話,那么歡迎大家來我們公司的linux培訓(xùn)班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的嵌入式linux課程免費試聽資格,在試聽中可以更加深入的了解我們達內(nèi)科技。