//Logo Image
作者:巫佳哲(2008-11-14);推薦:徐業良(2008-11-14)

ARM Linux環境下C語言應用程式撰寫、編譯與執行

ARM9開發版KS_2410上有掛載Linux作業系統,可以執行Linux的應用程式。本文主要介紹Linux C語言應用程式的撰寫方法。

1.         ARM Linux環境下C語言應用程式撰寫準備

為了要使撰寫出來的應用程式可以在ARM9開發版上執行,首先必須準備一台使用Linux作業系統的個人電腦,並且安裝“arm-linux-toolchain.tar.gz”“qtopia-crossplatform.tar.gz”兩個套件,詳細安裝方式請參考【ARM晶片工作平台的架設】。

在撰寫的環境上,有許多環境可供選擇,本文介紹兩種較常用的撰寫環境:

(1)    文字編譯器(gedit)

“Gedit”Linux圖形介面常用的文字編譯器軟體,支援顯示C語言的介面。如下圖1為使用gedit撰寫時的畫面。

(2)    終端機環境下的vi指令

除了在Linux圖形介面編輯外,也可以在一般的終端機介面上編輯。在終端機上,可利用vi指令來開啟檔案並編輯程式,圖2為使用vi來編輯的畫面。

1. Gedit編輯畫面

2. 終端機vi編輯畫面

2.         ARM Linux環境下C語言應用程式編譯

Linux作業環境下C語言與一般標準C語言架構相同,僅是在編譯時採用相容於ARM Linux的編譯器。本文以“main.c”檔案編譯為“ARMDDS”執行檔為例,介紹將程式編譯為ARM上可以執行的執行檔的步驟。

步驟一:

編譯前必須先建立一個“Makefile”檔案並與編寫完成的程式放在同一資料夾中,內容包含編譯器的使用及編譯動作等,如圖3所示,第6行主要的動作就是將“main.c”使用gcc編譯器編譯成為“ARMDDS”執行檔。

步驟二:

開啟終端機介面並進入“main.c”檔所在之資料夾位置。輸入掛載編譯器指令“. /opt/qtopia/arm/setenv”,再輸入指令“make”。若出現如圖4畫面,代表編譯成功並會在同一資料夾中出現ARMDDS執行檔。若出現如圖5畫面代表程式有錯,請重新檢查程式是否撰寫正確並重行執行步驟一。

3. Makefile內容

4. 正常編譯狀況

5. 發生編譯錯誤狀況

3.         執行應用程式執行檔

“main.c”編譯完成後所產生的“ARMDDS”執行檔,利用USB隨身碟、MMC記憶卡、NFSFTP等方式,將執行檔複製到ARM9開發版上的儲存裝置,然後在ARM9開發版上輸入指令“./ARMDDS”即可執行(如圖5)。ARM9開發版與一般PC類似,可同時執行多個應用程式,若是要幕後執行“ARMDDS”執行檔,則輸入指令“./ARMDDS &”

5. 執行ARMDDS畫面。