嵌入式系統(tǒng)概論以S3C2440核心為架構(gòu)_第1頁
嵌入式系統(tǒng)概論以S3C2440核心為架構(gòu)_第2頁
嵌入式系統(tǒng)概論以S3C2440核心為架構(gòu)_第3頁
嵌入式系統(tǒng)概論以S3C2440核心為架構(gòu)_第4頁
嵌入式系統(tǒng)概論以S3C2440核心為架構(gòu)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第13章嵌入式Linux應(yīng)用開發(fā)環(huán)境大綱13.1建立開發(fā)環(huán)境13.2建立交叉編譯環(huán)境13.3開發(fā)工具GNU的使用13.1建立開發(fā)環(huán)境13.1建立開發(fā)環(huán)境13.2建立交叉編譯環(huán)境13.3開發(fā)工具GNU的使用13.1建立開發(fā)環(huán)境目前常見的嵌入式作業(yè)系統(tǒng)WindowCEPlamEPOCLinuxuClinuxEmbedix(實驗平臺所採用)其他版本嵌入式Linux....自行開發(fā)系統(tǒng)13.1建立開發(fā)環(huán)境建立Linux開發(fā)環(huán)境的方案有下列幾種:基於PC上的Windows作業(yè)系統(tǒng)下的CYGWN在Windows下安裝虛擬機器,在虛擬機器下安裝Linux虛擬機器:VMMachine本系統(tǒng)平臺所採用的開發(fā)方式直接在PC平臺上安裝Linux13.2建立交叉編譯環(huán)境13.1建立開發(fā)環(huán)境13.2建立交叉編譯環(huán)境13.3開發(fā)工具GNU的使用13.2建立交叉編譯環(huán)境交叉編譯整體架構(gòu)來源程式碼GCC編譯器目的二進制檔經(jīng)過編譯編譯後產(chǎn)生經(jīng)過乙太網(wǎng)路、RS232傳輸圖13.4嵌入式系統(tǒng)交叉編譯過程目標實驗板編譯主機13.2建立交叉編譯環(huán)境如何建立交叉編譯環(huán)境安裝編譯工具建立目標平臺與開發(fā)主機的連結(jié)RS232串列傳輸NFS伺服器架設(shè)所使用的交叉編譯工具-GNU開發(fā)工具其支援使用者可使用C/C++語言開發(fā)應(yīng)用程式可生成高效率執(zhí)行程式,易掌握的編譯語言執(zhí)行於Linux的GNUgcc編譯器其功能為:編譯Linux核心及其底下執(zhí)行應(yīng)用程式做交叉編譯,編譯其他CPU上的程式13.2建立交叉編譯環(huán)境GNU開發(fā)工具包含內(nèi)容C編譯器GCCC++編譯器G++組合語言AS鏈結(jié)器LD二進位轉(zhuǎn)換工具(QBJCOPY、OBJDUMP)除錯工具(GDB、FDBSERVER、KGDB)建立其餘不同硬體平臺的開發(fā)程式庫GNU相關(guān)參考網(wǎng)站:/home.html

13.3開發(fā)工具GNU的使用13.1建立開發(fā)環(huán)境13.2建立交叉編譯環(huán)境13.3開發(fā)工具GNU的使用13.3開發(fā)工具GNU的使用GCC是GNU組織的免費C編譯器。在Linux發(fā)佈的預(yù)設(shè)安裝及目前的自由軟體源代碼基本都能在GCC編譯器下編譯執(zhí)行。GCC編譯器的使用,針對編譯系統(tǒng)內(nèi)核或應(yīng)用程式都是可以用到的。13.3開發(fā)工具GNU的使用在Linux作業(yè)系統(tǒng)中,對一個用標準C語言寫的來源程式進行編譯,採用GNU的gcc編譯器。

例如,下列簡單的Hello來源程式(hello.c):

voidmain()

{

printf(“Hellotheworld\n”);

}

13.3開發(fā)工具GNU的使用要編譯這個程式,只需在Linux的bash提示符號下輸入命令:

$gcc-ohellohello.c

gcc

編譯器就會產(chǎn)生一個hello的可執(zhí)行檔案。在hello.c的目前目錄下執(zhí)行./hello就可以看到程式的輸出結(jié)果,如下圖。圖13.8應(yīng)用程式執(zhí)行畫面13.3開發(fā)工具GNU的使用目標檔中包含以下的區(qū)段:.text(本文區(qū)段)包含程式的指令代碼.data(資料區(qū)段)包含固定的資料,如常數(shù),字串等.bss(未初始化資料區(qū)段)包含未初始化的變數(shù)和陣列等。13.3開發(fā)工具GNU的使用Make:負責從專案的來源代碼中產(chǎn)生最終可執(zhí)行檔和其他非來源代碼檔案的工具。其命令本身可具備四種參數(shù)旗標、巨集定義、描述檔案名稱和目標檔案名稱。其標準形式為:

make[flags][macrodefinitions][targets]13.3開發(fā)工具GNU的使用makefile一般稱為“makefile”或“Makefile”。也可指定別的檔案作為makefile。沒指定檔案時,make會尋找預(yù)設(shè)檔案。如要指定其他檔案,可利用下列命令選項指定makefile

檔:

$make-fmakefilename

13.3開發(fā)工具GNU的使用一個簡單的makefile範例

executable:main.o

io.o

gcc

main.o

io.o-oexecutable

main.o:main.c

gcc-Wall-O-g-cmain.c-omain.o

io.o:io.c

gcc-Wall-O-g-cio.c-oio.o

13.3開發(fā)工具GNU的使用系統(tǒng)中預(yù)設(shè)的常用檔副檔名及其含義為:.o目標檔.c

C原始檔案.f

FORTRAN原始檔案.s組合語言原始檔案.y

Yacc-C源語法.l

Lex源語法

13.3開發(fā)工具GNU的使用偽目標其功用可使任何一個目標檔的重建,不會影響其他目標檔。其與真正目標檔案不同於,偽目標檔並不存在。make會假設(shè)偽目標需要被產(chǎn)生,當make把該偽目標檔案的所有依賴檔案都更新後,就會執(zhí)行它的規(guī)則裏的命令行。結(jié)論透過上述建立開發(fā)環(huán)境的流程,可讓同學了解如何利用交叉編譯工具以及mak

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論