在進行嵌入式開發之前,首先要建立一個交叉編譯環境,這是一套編譯器、連接器和libc庫等組成的開發環境。本文具體說明了嵌入式交叉編譯環境的建立過程和具體的操作步驟,希望能夠對各位朋友搭建對應的交叉編譯環境有所幫助。
一、所需軟硬件環境
■ 主機環境
建立交叉編譯工具鏈的主機環境:
Ubuntu 8.10,gcc-4.3.2
■ Ubuntu 8.10軟件環境
保證你的 Ubuntu 8.10 安裝了如下的軟件:
Bison flex build-essential patch libncurses5-dev
安裝這些軟件包:
sudo apt-get install Bison flex build-essential patch libncurese5-dev
或直接下載下列deb軟件包
bison_13a2.3.dfsg-4build1_i386.deb
build-essential_11.4_i386.deb
flex_2.5.33-10build1_i386.deb
libncurses5-dev_5.6+20071124-1ubuntu2_i386.deb
m4_1.4.8-1build1_i386.deb
patch_2.5.9-5_i386.deb
然後 sudo dpkg –i *.deb 安裝這些軟件包。
■ 相關軟件包
本方案所選軟件包如下:
gcc-3.4.5.tar.gz
glibc-2.3.6.tar.gz
linux-2.6.26.5.tar.gz
crosstool-0.43.tar.gz
binutils-2.15.tar.gz
glibc-linuxthreads-2.3.3.tar.gz
linux-libc-headers-2.6.12.0.tar.bz2
二、具體工作步驟
1、修改系統配置
1.1、Ubuntu 8.10 默認安裝的 gcc 版本為4.3.2,這個版本對於語法要求較高,編譯會出錯,目前不宜選用,於是選擇了 gcc-4.1.1 ,但並不需要卸載 gcc-4.3.2。
(1)第一種方法:直接在終端輸入安裝gcc-4.1
sudo apt-get install gcc-4.1
(2)第二種方法:下載下列軟件包:
gcc-4.1_4.1.2-23ubuntu3_i386.deb
gcc-4.1-base_4.1.2-23ubuntu3_i386.deb
cpp-4.1_4.1.2-23ubuntu3_i386.deb
然後sudo dpkg –i *.deb
安裝就可以了
sudo rm /usr/bin/gcc (刪除GCC,它只是個到gcc-4.3.2的軟鏈接文件)
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的軟鏈接)
1.2、修改sh版本
如果運行
ls -la /bin/sh
看到鏈接的是 dash ,則請運行以下命令
sudo dpkg-reconfigure dash
選擇 no 以刪除 dash
此處如果不改好的話,編譯時會出現錯誤
2.解壓軟件包,並進入該目錄,查看重要的腳本文件。
$cd downloads
$tar –zxvf crosstool-0.43.tar.gz
$cd crosstool-0.43
在此目錄下可以看到有很多.sh腳本和.dat配置文件,每一個支持的處理器都有它所相應的腳本。假如選用demo-arm-softfloat.sh 就是建立目標為支持軟浮點的arm交叉編譯工具鏈。