1. 交叉編譯器
1.1 交叉編譯器介紹
在一種計算機環境中運行的編譯程序,能編譯出在另外一種環境下運行的代碼,我們就稱這種編譯器支持交叉編譯。這個編譯過程就叫交叉編譯。簡單地說,就是在一個平台上生成另一個平台上的可執行代碼,而這種工具就是交叉編譯器(cross compiler)。
1.2 搭建交叉編譯環境
1.2.1 實驗環境
交叉編譯工具:arm-linux- 4.2.2
編譯平台:Ubuntu10.10
開發板類型:UT-S3C6410
1.2.2 搭建步驟
1) 在/usr/local/下建立交叉編譯器的安裝目錄arm:
sudo mkdir /usr/local/arm
2)將下載的交叉編譯器包解壓到/usr/local/arm目錄下:
sudo tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/
3)解壓成功後,修改PATH環境變量:
sudo vim /etc/profile
在文件為加入交叉編譯器arm-linux-所在的路徑:
export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin
然後退出vim。
4) 更新一下配置文件/etc/profile:
source /etc/profile
5)檢測是否安裝成功:
現在就可以使用交叉編譯器了,寫一個測試程序helloworld,交叉編譯下,看是否能在開發板上運行。
i. 交叉編譯測試程序
arm-linux-gcc helloworld.c -o helloworld
ii.把生成的可執行文件helloworld復制到NFS的掛載目錄下:
sudo cp ./helloworld /nfsboot
注意:本實驗中開發板使用NFS掛載rootfs,nfsboot是NFS的掛載目錄。
iii.在超級終端上運行:
./helloworld
執行結果: