嵌入式Linux應(yīng)用程序開發(fā)標(biāo)準(zhǔn)教程
硬件平臺準(zhǔn)備(1)宿主機(jī)(PC機(jī)或筆記本電腦)用于開發(fā)嵌入式應(yīng)用的PC機(jī)或工作站,一般擁有較高的速度、較大的存儲空間、功能強(qiáng)大的操作系統(tǒng)(Windows或UNIX)、豐富的軟件和高級語言開發(fā)工具。(2
硬件平臺準(zhǔn)備
(1)宿主機(jī)(PC機(jī)或筆記本電腦)
用于開發(fā)嵌入式應(yīng)用的PC機(jī)或工作站,一般擁有較高的速度、較大的存儲空間、功能強(qiáng)大的操作系統(tǒng)(Windows或UNIX)、豐富的軟件和高級語言開發(fā)工具。
(2)目標(biāo)機(jī)(開發(fā)板)
嵌入式應(yīng)用的運(yùn)行環(huán)境,一般結(jié)構(gòu)簡單,速度較慢,存儲空間較小,只能運(yùn)行特定的嵌入式操作系統(tǒng)和應(yīng)用程序,一般不能提供高級語言開發(fā)工具。
軟件平臺準(zhǔn)備
(1)PC機(jī)上安裝Linux操作系統(tǒng),redhat、fedora、ubtun等均可。
(2)一套含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫的集成開發(fā)環(huán)境(IDE),這個(gè)需要根據(jù)你選用的開發(fā)板來定,一般廠家會提供。
(3)為了保證開發(fā)板和宿主機(jī)之間的通信,需要安裝遠(yuǎn)程監(jiān)控程序,如Windows下的超級終端,Linux下的MINICOM等均可勝任。
交叉開發(fā)環(huán)境建立
(1)安裝交叉調(diào)試器,此過程按廠家給的說明手冊安裝即可。其原理參見“嵌入式Linux下C語言編程練習(xí)”功能處理模塊運(yùn)行在宿主機(jī)上,控制應(yīng)用程序模塊運(yùn)行在目標(biāo)機(jī)上。主要功能是調(diào)試運(yùn)行在目標(biāo)機(jī)上的可執(zhí)行代碼。
(2)交叉編譯器和交叉鏈接器是能夠在宿主機(jī)上運(yùn)行,并且能夠生成在目標(biāo)機(jī)上直接運(yùn)行的二進(jìn)制代碼的編譯器和鏈接器。
在宿主機(jī)上開發(fā)應(yīng)用程序
(1)宿主機(jī)打開Linux,打開一個(gè)終端,在這個(gè)終端中用VI編程。
(2)使用vi文件編輯器。輸入vi text.c編寫代碼,按“i”或者“a”進(jìn)入編輯模式,將下面的代碼錄進(jìn)去,完成后先按Esc,在輸入:wq回車保存并退出編輯器,這樣我們就在當(dāng)前目錄下建立了一個(gè)名為text.c的文件。
(2)為使上面的text.c程序能夠運(yùn)行,我們必須要編寫一個(gè)Makefile文件,它定義了一系列規(guī)則,指明了哪些文件需要編譯,哪些需要先編譯,哪些需要重新編譯等復(fù)雜命令,使用它的好處就是可以自動編譯,只要輸入make命令整個(gè)工程就可以自動編譯。
到開發(fā)板上調(diào)試運(yùn)行
(1)宿主機(jī)配置超級終端。
(2)分別在宿主機(jī)和開發(fā)板設(shè)置IP地址。
(3)互相PING一下。
(4)在開發(fā)板上(用超級終端監(jiān)控)掛載宿主機(jī)的內(nèi)容。
(5)在開發(fā)板上運(yùn)行宿主機(jī)上編譯好的程序。
注意的問題
(1)宿主機(jī)上一定要正確安裝交叉開發(fā)環(huán)境,這樣,才可以用嵌入式開發(fā)平臺的民信編譯器對應(yīng)用程序進(jìn)行編譯。
(2)硬件要連接好,如果超級終端有問題,一般檢查串口;如果互相不能PING通,一般檢查網(wǎng)線。
(3)網(wǎng)線連接好的情況下,如果還不能PING通,要檢查網(wǎng)絡(luò)連接、防火墻等。
(4)注意編譯器不要弄混淆了,用gcc編譯的程序,只能在宿主機(jī)上運(yùn)行;用開發(fā)板編譯的程序,才可以在開發(fā)板上運(yùn)行。