嵌入式開發(fā)環(huán)境搭建_0基礎(chǔ)入門嵌入式-信盈達(dá)
時(shí)間:2018-11-15 00:00:00
來源:信盈達(dá)
作者:信盈達(dá)
說起嵌入式開發(fā),不少人可能會(huì)為之頭大,因?yàn)檫@里牽涉到很多日常程序開發(fā)牽涉不到的東西,比如交叉編譯鏈又是什么鬼。
編寫普通的PC程序,是很自然的弄好相應(yīng)的IDE配置好編譯器,做好這些,直接寫代碼然后編譯通過運(yùn)行調(diào)試就行??墒乔度胧讲恍?,在移動(dòng)端運(yùn)行的程序需要在PC端上編譯好然后通過某種手段發(fā)送到移動(dòng)端運(yùn)行,這也就是“交叉編譯鏈”名稱的由來了。一般來說ARM平臺(tái)上運(yùn)行Linux操作系統(tǒng),然后在Linux操作系統(tǒng)的基礎(chǔ)上運(yùn)行相應(yīng)的APP,這個(gè)APP也是需要在Linux開發(fā)環(huán)境下開發(fā)編譯的。經(jīng)過一個(gè)學(xué)期學(xué)習(xí)實(shí)踐操作,在這里寫一篇簡文來稍微記錄一下這其中的彎彎繞繞吧。
基本基礎(chǔ)環(huán)境的搭建
首先需要做的便是得到一個(gè)Linux操作系統(tǒng)的計(jì)算機(jī),鑒于絕大多數(shù)人的電腦都運(yùn)行的Windows操作系統(tǒng),而且沒有多余的可用的電腦,我們可以使用虛擬機(jī)安裝Linux操作系統(tǒng),這樣有很多好處。
1. 不需要將Windows操作系統(tǒng)刪除,不會(huì)影響日常正常工作。
2. 多數(shù)人對Linux操作系統(tǒng)不熟悉,有些操作可以在虛擬機(jī)外面進(jìn)行,例如下載,編輯等。
在虛擬機(jī)軟件中,可以很方便的對相應(yīng)的Linux系統(tǒng)進(jìn)行備份與恢復(fù),方便我們試錯(cuò)。
在操作系統(tǒng)的選擇上面,這里沒有過多的建議,基本上就 是Fedora或者Ubuntu了。系統(tǒng)的選擇問題不大,但是版本的選擇就有一些考究了,因?yàn)椴僮飨到y(tǒng)版本的新舊很多時(shí)候會(huì)產(chǎn)生一些意想不到的問題。比如 說附帶GCC版本過新或者過舊,或者說因?yàn)橄到y(tǒng)版本過老導(dǎo)致沒有相應(yīng)的好用的更新源可以使用,這些都是問題,需要具體情況具體分析,總而言之是不建議使用 太新的系統(tǒng),初學(xué)者需要操作的東西也不會(huì)是比較新的東西,所以新系統(tǒng)很有可能帶來各種問題。在虛擬機(jī)軟件的選擇上,有兩個(gè)主流的軟件可以選擇,一個(gè)是商業(yè) 化非常優(yōu)秀的VMware,一個(gè)是開源的Virtualbox。VMware說是需要收費(fèi),可是可能是由于需要大范圍推廣的原因,其激活序列號非常好找, 不得不說其公司在睜一只眼閉一只眼。
基礎(chǔ)編譯環(huán)境的搭建
整個(gè)生產(chǎn)過程就像在工廠里面制造產(chǎn)品,而基本基礎(chǔ)環(huán)境的地位就像這個(gè)工廠里面的地基,接下來就需要在地基上面繼續(xù)建造廠房了。所謂造廠房其實(shí)就是獲得我們需要的具體生產(chǎn)工具。這些生產(chǎn)工具總的來說就是一條交叉編譯鏈。上文已經(jīng)說到,所謂交叉編譯鏈其實(shí)就是在可以在PC機(jī)上編譯在目標(biāo)平臺(tái)運(yùn)行軟件的一個(gè)編譯工具。這其中的過程著實(shí)有點(diǎn)復(fù)雜,一般來說會(huì)使用平臺(tái)廠家自帶的已經(jīng)制作好的交叉編譯工具鏈,只要安裝即可使用。如果讀者感興趣一定要自己制作交叉編譯工具鏈的話可以參考這篇博文ARM Linux交叉編譯鏈制作過程 。但是一般來說直接使用廠家提供的交叉編譯鏈就可以了。
程序開發(fā)環(huán)境搭建
完成了交叉編譯鏈之后就可以開始嘗試著做自己的事情。比如說編譯一個(gè)hello world在ARM Linux平臺(tái)上看看是否能正常運(yùn)行。只有一個(gè)交叉編譯鏈?zhǔn)沁h(yuǎn)遠(yuǎn)不夠的,我們需要做的事情還有很多。一般來說嵌入式都會(huì)采用QT作為GUI,于是我們還要將QT的源碼下載下來經(jīng)過一定的配置之后使用剛剛制作的交叉編譯鏈對其進(jìn)行編譯工作,編譯出相應(yīng)的ARM Linux版本。
編譯好了QT還是不夠的,如果要進(jìn)行QT開發(fā),我們還需要安裝QTCreator,安裝好了再進(jìn)行相應(yīng)的配置工作,例如增加搜索路徑之類的。完成了以上種種我們才可以好好的坐下來做開發(fā)。其中要硬生生踏過的坑數(shù)不勝數(shù),所以要進(jìn)行這方面工作的小伙伴們加油吧!