1 / 21

第 13 章 嵌入式 Linux 應用開發環境

第 13 章 嵌入式 Linux 應用開發環境. 大綱. 13.1 建立開發環境 13.2 建立交叉編譯環境 13.3 開發工具 GNU 的使用. 13.1 建立開發環境. 13.1 建立開發環境 13.2 建立交叉編譯環境 13.3 開發工具 GNU 的使用. 13.1 建立開發環境. 目前常見的嵌入式作業系統 Window CE Plam EPOC Linux uClinux Embedix( 實驗平台所採用 ) 其他版本嵌入式 Linux.... 自行開發系統. 13.1 建立開發環境.

rana-gamble
Télécharger la présentation

第 13 章 嵌入式 Linux 應用開發環境

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第13章嵌入式Linux應用開發環境

  2. 大綱 • 13.1 建立開發環境 • 13.2 建立交叉編譯環境 • 13.3 開發工具GNU的使用

  3. 13.1 建立開發環境 • 13.1 建立開發環境 • 13.2 建立交叉編譯環境 • 13.3 開發工具GNU的使用

  4. 13.1 建立開發環境 目前常見的嵌入式作業系統 • Window CE • Plam • EPOC • Linux • uClinux • Embedix(實驗平台所採用) • 其他版本嵌入式Linux.... • 自行開發系統

  5. 13.1 建立開發環境 建立Linux開發環境的方案有下列幾種: • 基於PC上的Windows作業系統下的CYGWN • 在Windows下安裝虛擬機器,在虛擬機器下安裝Linux • 虛擬機器:VM Machine • 本系統平台所採用的開發方式 • 直接在PC平台上安裝Linux

  6. 13.2 建立交叉編譯環境 • 13.1 建立開發環境 • 13.2 建立交叉編譯環境 • 13.3 開發工具GNU的使用

  7. 13.2 建立交叉編譯環境 • 交叉編譯整體架構 經過乙太網路、RS232傳輸 目的二進制檔 編譯後產生 GCC編譯器 目標實驗板 編譯主機 經過編譯 來源程式碼 圖13.4 嵌入式系統交叉編譯過程

  8. 13.2 建立交叉編譯環境 • 如何建立交叉編譯環境 • 安裝編譯工具 • 建立目標平台與開發主機的連結 • RS232串列傳輸 • NFS伺服器架設 • 所使用的交叉編譯工具-GNU開發工具 • 其支援使用者可使用C/C++語言開發應用程式 • 可生成高效率執行程式,易掌握的編譯語言 • 執行於Linux的GNUgcc編譯器其功能為: • 編譯Linux核心及其底下執行應用程式 • 做交叉編譯,編譯其他CPU上的程式

  9. 13.2 建立交叉編譯環境 • GNU開發工具包含內容 • C編譯器GCC • C++編譯器G++ • 組合語言AS • 鏈結器LD • 二進位轉換工具(QBJCOPY、OBJDUMP) • 除錯工具(GDB、FDBSERVER、KGDB) • 建立其餘不同硬體平台的開發程式庫 • GNU相關參考網站:www.gnu.org/home.html

  10. 13.3 開發工具GNU的使用 • 13.1 建立開發環境 • 13.2 建立交叉編譯環境 • 13.3 開發工具GNU的使用

  11. 13.3 開發工具GNU的使用 • GCC是GNU組織的免費C編譯器。 • 在Linux發佈的預設安裝及目前的自由軟體源代碼基本都能在GCC編譯器下編譯執行。 • GCC編譯器的使用,針對編譯系統內核或應用程式都是可以用到的。

  12. 13.3 開發工具GNU的使用 • 在Linux作業系統中,對一個用標準C語言寫的來源程式進行編譯,採用GNU的gcc編譯器。 • 例如,下列簡單的Hello來源程式(hello.c): void main() { printf(“Hello the world\n”); }

  13. 13.3 開發工具GNU的使用 • 要編譯這個程式,只需在Linux的bash提示符號下輸入命令: $ gcc -o hello hello.c • gcc 編譯器就會產生一個hello的可執行檔案。 • 在hello.c的目前目錄下執行./hello就可以看到程式的輸出結果,如下圖。 圖13.8 應用程式執行畫面

  14. 13.3 開發工具GNU的使用 • 目標檔中包含以下的區段: • .text(本文區段) 包含程式的指令代碼 • .data(資料區段)包含固定的資料,如常數,字串等 • .bss(未初始化資料區段) 包含未初始化的變數和陣列等。

  15. 13.3 開發工具GNU的使用 • Make:負責從專案的來源代碼中產生最終可執行檔和其他非來源代碼檔案的工具。 • 其命令本身可具備四種參數 • 旗標、巨集定義、描述檔案名稱和目標檔案名稱。 • 其標準形式為: make [flags] [macro definitions] [targets]

  16. 13.3 開發工具GNU的使用 • makefile一般稱為“makefile”或“Makefile”。也可指定別的檔案作為makefile。 • 沒指定檔案時,make會尋找預設檔案。 • 如要指定其他檔案,可利用下列命令選項指定 makefile 檔:$ make -f makefilename

  17. 13.3 開發工具GNU的使用 • 一個簡單的makefile範例 executable : main.o io.o gcc main.o io.o -o executablemain.o : main.c gcc -Wall -O -g -c main.c -o main.oio.o : io.c gcc -Wall -O -g -c io.c -o io.o

  18. 13.3 開發工具GNU的使用 • 系統中預設的常用檔副檔名及其含義為: • .o  目標檔 • .c C原始檔案 • .f FORTRAN原始檔案 • .s  組合語言原始檔案 • .y Yacc-C源語法 • .l Lex源語法

  19. 13.3 開發工具GNU的使用 偽目標 • 其功用可使任何一個目標檔的重建,不會影響其他目標檔。 • 其與真正目標檔案不同於,偽目標檔並不存在。 • make會假設偽目標需要被產生,當make把該偽目標檔案的所有依賴檔案都更新後,就會執行它的規則裏的命令行。

  20. 結論 • 透過上述建立開發環境的流程,可讓同學了解如何利用交叉編譯工具以及make工具去產生系統所需求的應用程式,且可透過開發環境介面,下載至實驗板上驗證程式運作。

  21. 習題 • 利用本課程的交叉編譯工具以及make工具撰寫一個九九乘法表的應用程式碼及Makefile檔,並且透過NFS及minicom方式上傳檔案至實驗板執行。

More Related