嵌入式開發(fā)到底是什么一個概念,總會有人覺得它是一個很深奧的一個課程,其實(shí)嵌入式的開發(fā)總的來說是一個整合能力的,需要學(xué)習(xí)者有一定的知識邏輯水平。而且由于嵌入式系統(tǒng)是一個受資源限制的系統(tǒng),我們要是直接在嵌入式系統(tǒng)硬件上進(jìn)行編程顯然是不合理的。那嵌入式軟件開發(fā)的基本流程是怎樣的,進(jìn)行嵌入式技術(shù)培訓(xùn)可以系統(tǒng)掌握嗎?
在嵌入式系統(tǒng)的開發(fā)過程中,一般采用的方法是現(xiàn)在通用PC機(jī)上編程;然后通過交叉編譯和鏈接,將程序做成目標(biāo)平臺上課運(yùn)行的二進(jìn)制代碼格式;將程序下載到目標(biāo)平臺上的特定位置,由目標(biāo)板上啟動代碼運(yùn)行這段二進(jìn)制代碼,從而運(yùn)行起嵌入式系統(tǒng)。
嵌入式軟件開發(fā)的基本流程:整個過程中的部分工作在主機(jī)上完成的,另一部分工作在目標(biāo)板上完成。首先,是在主機(jī)上的編程工作。純粹使用匯編代碼編寫源代碼,除了編寫困難外,調(diào)試和維護(hù)困難也是匯編代碼的難題;而c語言可直接對硬件進(jìn)行操作,而且又有語言程序結(jié)構(gòu)化、容易移植等優(yōu)點(diǎn),因而嵌入式系統(tǒng)源代碼主要是由匯編語言和c語言混合編寫。源代碼編寫完成后容易保存為源文件,再用主機(jī)上建立的交叉編譯環(huán)境生成.obj文件,并且將.obj文件按照目標(biāo)板的要求鏈接成合適的.image文件。通過重定位機(jī)制和下載過程,將.image文件下載到目標(biāo)板上運(yùn)行。由于無法保證目標(biāo)板一次就可以運(yùn)行編譯、鏈接成功的程序,因此后期的調(diào)試排錯工作就特別重要。調(diào)試只能在運(yùn)行態(tài)完成,因此在主機(jī)和目標(biāo)板之間通過連接,由主機(jī)控制目標(biāo)板上程序的運(yùn)行,可達(dá)到調(diào)試內(nèi)核或者嵌入式應(yīng)用程序的目的。
一般來說,基于交叉開發(fā)環(huán)境的嵌入式應(yīng)用軟件開發(fā)主要分如下5個基本階段:開發(fā)環(huán)境的建立、源代碼編輯階段、交叉編譯和鏈接、重定位和下載、聯(lián)機(jī)調(diào)試。
內(nèi)容比較多,我們將在下次詳細(xì)介紹一下。關(guān)注嵌入式技術(shù)培訓(xùn),到粵嵌教育哦!