【正文】
執(zhí)行程序。這種方式下,我們使用 PC 平臺上的 Windows 工具開發(fā)針對 Windows 本身的可執(zhí)行程序,這種編譯過程稱為 native pilation,中文可理 解為本機(jī)編譯。 交叉編譯 交叉編譯( crosspilation)是指,在某個(gè)主機(jī)平臺上(比如 PC 上)用交叉編譯器編譯出可在其他平臺上(比如 ARM 上)運(yùn)行的代碼的過程。 驗(yàn)證開發(fā)環(huán)境是否建立好了需要一塊目標(biāo)板。在服務(wù)器的 Linux 環(huán)境下,用 GNU gcc 編譯生成目標(biāo)代碼,再用 FTP傳回到自己的 PC 機(jī)上,然后通過串行口或網(wǎng)絡(luò)下載到目標(biāo)機(jī)上。 Cygwin 的安裝過程需要三個(gè)小時(shí),有時(shí)裝到一半出現(xiàn)問題很不好處理??梢杂?Linux 中的 X Windows(xterm)開若干個(gè)窗口,用于編 譯、下載、調(diào)試等;可以使用 Linux 中的 emacs 做文本編輯。 這次的課程設(shè)計(jì)要求我們對 嵌入式系統(tǒng)基礎(chǔ)知識、嵌入式系統(tǒng)開發(fā)過程、ARM 體系機(jī)構(gòu)和嵌入式系統(tǒng)的 BootLoad 開發(fā) 有所了解以及要知道 如何創(chuàng)建嵌入式系統(tǒng)開發(fā)環(huán)境、如何在 ARM 平臺上移植 Linux 系統(tǒng) 、 Linux 設(shè)備驅(qū)動程序開發(fā)、 USB 設(shè)備驅(qū)動程序開發(fā)、嵌入式 Linux 網(wǎng)絡(luò)編程和圖形用戶 接口開發(fā) 。 嵌入式 Linux 技術(shù)在中國有巨大的發(fā)展?jié)摿褪袌鲂枰G度胧?Linux 不僅繼承了 Linux 源代碼開發(fā)、內(nèi)核穩(wěn)定高效、軟件豐富、強(qiáng)大的網(wǎng)絡(luò)支持功能、優(yōu)秀的開發(fā)工具等優(yōu)勢,而且還具備支持廣泛的處理器結(jié)構(gòu)和硬件平臺占用空間小、成本低等優(yōu)點(diǎn)。另外嵌入式 Linux 需要相應(yīng)的嵌入式開發(fā)板和軟件,還需要有經(jīng)驗(yàn)的人進(jìn)行指導(dǎo)開發(fā),目前國內(nèi)大部分高校都很難達(dá)到這種要求,這也造成了目前國內(nèi)嵌入式 Linux 開發(fā)人才極其缺乏的局面。 Linux 開發(fā)嵌入式應(yīng)用,可以在自己的 PC 機(jī)上裝一套 Linux,例如, Red Hat Linux。 GNU中的 Cygwin 是在 Windows 下運(yùn)行 Linux 的自由軟件,但我們發(fā)現(xiàn), Cygwin 的兼容性似乎不太好,在有點(diǎn) PC 機(jī)上能裝得上,有的 PC 機(jī)上裝不上。開發(fā)小組中每個(gè)成員都可以通過局域網(wǎng)用 Telent 登錄到這臺 Linux 服務(wù)器上去,被開發(fā)的目標(biāo)板也掛在網(wǎng)上。硬 件調(diào)試完成后,可以把 Debug 程序?qū)懭隖lash,然后就不需要 JTAC 工具了??梢酝ㄟ^用 GNU gcc 編譯 uClinux 然后下載到目標(biāo)板上運(yùn)行的辦法來熟悉 Linux 下 GNU gcc 的開發(fā)環(huán)境,檢驗(yàn)開發(fā)環(huán)境是否已建立好。比如,我們在 Windows 平臺上,可使用 Visual C++ 開發(fā)環(huán)境,編寫程序并編譯成可執(zhí)行程序。為了解決這個(gè)問題,交叉編譯工具就應(yīng)運(yùn)而生了。采用交叉編譯的主要原因在于,多數(shù)嵌入式目標(biāo)系統(tǒng)不能提供足夠的資源供編譯過程使用,因而只好將編譯工作轉(zhuǎn)移到高性能的主機(jī)中進(jìn)行。 WEB設(shè)計(jì) 在宿主機(jī)上 修改 EXP2/APP/HTTPD/HTML目錄下的 添加 LED左欄目選項(xiàng),具體操作如下: 將修改好了的 覆蓋到目標(biāo)板的 /HOME/HTTPD 目錄下 。 具體 命令 操作如下: 宿主機(jī)的 IP: 子網(wǎng)掩碼: mini ifconfig eth0 mask mkdir nfs mount :/RJARM9EDU /nfs cd /nfs/experiments/EXP2/app/boa/src cp boa /bin cd / cd /nfs/experiments/EXP2/app cp – r d /home cd / cd bin ./boa LED顯示 在 /EXP2/APP/CGI 目錄下修改如下三個(gè)文件: 添加四個(gè)函數(shù)命名及對應(yīng) FLAG如下 (具體程 序見附錄 1) : Ledshow 對應(yīng) FLAG=200 Led_123 對應(yīng) FLAG=202 Led_888 對應(yīng) FLAG=204 Led_hello 對應(yīng) FLAG=206 添加四個(gè)函數(shù)對應(yīng)的頭文件聲明 (具體程序見附錄 2) 中定義四個(gè)函數(shù) (具體程序見附錄 3) Ledshow 用于顯示 LED頁面,用 HTML語言實(shí)現(xiàn),需要添加三個(gè)按鈕 Led_123 參考 LED顯示程序,顯示 1234