最近的幾個月裡,都在從事軟硬體間的程式設計,雖然我懂得不多,但是經過一段時間的摸索之後也找到了一些解決問題的方法。雖然從前的我,只會寫軟體程式,也從來沒有想到我會接觸到這個領域的東西,但是經過這幾個月的努力終於有了一些小小的收穫。

這篇文章並沒有打算從一開始使用ADS去建立boot loader開是講起,也不會跟大家解說如何使用ADS這個開發工具,我們假設你已經在你的ARM平台上已經完成了boot loader的工作(關於boot loader日後如果有機會在另一篇文章中報告我的心得,關於ADS的使用心得我也會在另一篇文章中加以描述。),並且已經安裝上Linux作業系統,所以這篇文章所要跟大家說明的事是如何建立Linux環境下的開發環境,並且編譯出一個能在ARM平台上能夠執行的程式。
 
我們的工作環境:
(1) ARM 9  S3C2440的實驗版
(2) Linux kernel 2.4.18_rel_hzh
 
建立一個編譯環境並產生執行檔
 
第一個方法
我在「建造cross compiler環境」的文章中,有記錄了如何建造一個cross compiler的環境,如果你已經建立成功,你可以在cygwin的工作環境下輸入「echo $PATH」的指令,如果含有「/opt/arm-cross/bin」的路徑表示你的編譯環境已經打造完成。


 

假設你撰寫了一個helloworld.c的程式如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    printf("HELLO ARM WORLD!!");
    return 0;
}
 
接下來你所要做的事情就是編譯你所撰寫的這個程式,假設helloworld.c放在/tmp的目錄下,你要產生ARM Linux的執行檔步驟如下:
(1) cd /tmp   切換你的工作目錄到/tmp
(2) arm-linux-gcc helloworld.c -o helloworld   編譯helloworld.c並且在/tmp目錄下產生執行檔,檔名為helloworld
透過上面兩個步驟我們將會得到helloworld的執行檔,將該檔案透過超級終端機將程式download到ARM實驗版上,如果正確在板子上執行該程式應該會顯示「HELLO ARM WORLD!!」。
 
第二個方法
現在有許多人喜歡使用IDE工具來協助你編譯程式,下面將簡介一下如何建造一個IDE的編譯工具。
我所使用的IDE是dev-cpp,它是一個免費的圖形化介面的工具,我將在這個環境中建立RAM平台上的編譯環境,關於cross-compiler的部份在cygwin你可以使用cygwin-arm-cross-2.95.3,但是如果不使用cygwin則不能使用這個工具,因為它好像會用到cygwin的某些dll,所以我使用了另一個工具包(下載),這個工具包只是一個自解壓縮檔,解開之後就可以用了。假設你把工具包解開放在「C:\etc\devkitGP2X」,以下的步驟將敎你如何在dev-cpp下設定該開發環境。
 
(1)  打開Dev-C++的IDE軟體,我用的版本是4.9.9.2,點選「工具(T)」->「編譯器選項(C)」



(2)  在「編譯器」的「編譯器設定組態」新增一個設定「ARM」



(3)  將「目錄」->「二進位檔」的『C:\Dev-Cpp\Bin』->『C:\etc\devkitGP2X\Bin』



(4)  將「目錄」->「函式庫」的『C:\Dev-Cpp\lib』->『C:\etc\devkitGP2X\lib』


(5)  將「目錄」->「C引入檔(Includes)」的『C:\Dev-Cpp\include』->『C:\etc\devkitGP2X\include』



(6)  將「目錄」->「C++引入檔(Includes)」的
『C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include』 -> 『C:\etc\devkitGP2X\lib\gcc\arm-linux\4.0.2\include』
『C:\Dev-Cpp\include\c++\3.4.2\backward』 -> 『C:\etc\devkitGP2X\include\c++\4.0.2\backward』
『C:\Dev-Cpp\include\c++\3.4.2\mingw32』 -> 『C:\etc\devkitGP2X\include\c++\4.0.2\arm-linux』
『C:\Dev-Cpp\include\c++\3.4.2』 -> 『C:\etc\devkitGP2X\include\c++\4.0.2』
『C:\Dev-Cpp\include』 -> 『C:\etc\devkitGP2X\include』



(7)  將「外部程式」設定好
『gcc.exe』 -> 『arm-linux-gcc.exe』
『g++.exe』 -> 『arm-linux-g++.exe』
『gprof.exe』 -> 『arm-linux-gprof.exe』


 
完成上述七個步驟IDE環境就已經設定完成。
 
接著你要新增一個專案,「新開檔案」->「專案」,選擇「Console Application」


 
在專案選項中設定編輯器為「ARM」,編譯之後會產生「helloworld.exe」,將該檔案上傳至S3C2440實驗版上即可執行。


 


程式碼下載

原文
http://wa5p6q.spaces.live.com/Blog/cns!769F355A4CB0687F!442.entry?wa=wsignin1.0
arrow
arrow
    全站熱搜

    立你斯 發表在 痞客邦 留言(0) 人氣()