1. 程式人生 > >安裝gcc交叉編譯器

安裝gcc交叉編譯器



1.
構建交叉開發環境
工具鏈和安裝
光碟資料中包含已經建好的交叉編譯工具鏈,在光碟的“cross-tools”目錄下,具體的
檔名為“gcc-4.4.4-glibc-2.11.1-multilib-1.0_ EasyARM-iMX283.tar.bz2”。交叉編譯工具可
以通過 U 盤的方式,也可使用 SSH Secure Shell Client 通過 SSH 的方式拷貝到 Linux 主機。
在安裝交叉編譯工具之前需要先安裝 32 位的相容庫和 libncurses5-dev 庫,安裝相容庫
需要從 ubuntu 的源庫中下載,所以主機必須能夠上外網,使用如下命令安裝:
[[email protected]
~]$sudo
apt-get install ia32-libs
主機沒有安裝 32 位相容庫,在使用交叉編譯工具的時候可能會出現錯誤:
-bash: ./arm-fsl-linux-gnueabi-gcc: 沒有那個檔案或目錄
安裝 libncurses5-dev,使用如下命令進行安裝:
sudo apt-get install libncurses5-dev
如果沒有安裝此庫,在使用 make menucofig 時會如所示的錯誤:
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 錯誤 1
make: *** [menuconfig] 錯誤 2
安裝交叉編譯工具鏈需要 root 許可權。在終端執行命令:
[
[email protected]
~]$ sudo tar –jxvf gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 –C /opt/
交叉編譯工具鏈將會被安裝到/opt/ gcc-4.4.4-glibc-2.11.1-multilib-1.0 目錄下(注意解壓
時 必 須 指 定 解 壓 的 目 錄 為 /opt/ 目 錄 ) , 交 叉 編 譯 器 的 具 體 目 錄 是
/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin。為了方便使用,還需將交叉
編譯器路徑新增到系統路徑中,修改~/.bashrc 檔案,在 PATH 變數中增加交叉編譯工具鏈的
安裝路徑,然後執行~/.bashrc 檔案,使設定生效。在~/.bashrc 檔案末尾增加一行:
export PATH=$PATH:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/
執行.bashrc 檔案的方法,進入~/目錄,輸入. .bashrc 命令(點+空格.bashrc)。
在終端輸入 arm-fsl-linux-gnueabi-並按 TAB 鍵,如果能夠看到很多 arm-fsl-linux-gnueabi-
字首的命令,則基本可以確定交叉編譯器安裝正確。
[
[email protected]
~]$ arm-none-linux-gnueabi-
arm2hpdl arm-linux-addr2line arm-none-linux-gnueabi-ar
arm-fsl-linux-gnueabi-addr2line arm-linux-ar arm-none-linux-gnueabi-as
arm-fsl-linux-gnueabi-ar arm-linux-as arm-none-linux-gnueabi-c++
arm-fsl-linux-gnueabi-as arm-linux-c++ arm-none-linux-gnueabi-cc
arm-fsl-linux-gnueabi-c++ arm-linux-cc arm-none-linux-gnueabi-c++filt
arm-fsl-linux-gnueabi-cc arm-linux-c++filt arm-none-linux-gnueabi-cpp
產品使用者手冊
©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.
26EPC-28x/M28x 使用者手冊
廣州致遠電子股份有限公司
工控產品
arm-fsl-linux-gnueabi-c++filt arm-linux-cpp arm-none-linux-gnueabi-ct-ng.config
arm-fsl-linux-gnueabi-cpp arm-linux-ct-ng.config arm-none-linux-gnueabi-g++
arm-fsl-linux-gnueabi-ct-ng.config arm-linux-g++ arm-none-linux-gnueabi-gcc
arm-fsl-linux-gnueabi-g++ arm-linux-gcc arm-none-linux-gnueabi-gcc-4.4.4
arm-fsl-linux-gnueabi-gcc arm-linux-gcc-4.4.4 arm-none-linux-gnueabi-gccbug
arm-fsl-linux-gnueabi-gcc-4.4.4 arm-linux-gccbug arm-none-linux-gnueabi-gcov
arm-fsl-linux-gnueabi-gccbug arm-linux-gcov arm-none-linux-gnueabi-gdb
arm-fsl-linux-gnueabi-gcov arm-linux-gdb arm-none-linux-gnueabi-gprof
arm-fsl-linux-gnueabi-gdb arm-linux-gprof arm-none-linux-gnueabi-ld
arm-fsl-linux-gnueabi-gprof arm-linux-ld arm-none-linux-gnueabi-ldd
arm-fsl-linux-gnueabi-ld arm-linux-ldd arm-none-linux-gnueabi-nm
arm-fsl-linux-gnueabi-ldd arm-linux-nm arm-none-linux-gnueabi-objcopy
arm-fsl-linux-gnueabi-nm arm-linux-objcopy arm-none-linux-gnueabi-objdump
arm-fsl-linux-gnueabi-objcopy arm-linux-objdump arm-none-linux-gnueabi-populate
arm-fsl-linux-gnueabi-objdump arm-linux-populate arm-none-linux-gnueabi-ranlib
arm-fsl-linux-gnueabi-populate arm-linux-ranlib arm-none-linux-gnueabi-readelf
arm-fsl-linux-gnueabi-ranlib arm-linux-readelf arm-none-linux-gnueabi-run
arm-fsl-linux-gnueabi-readelf arm-linux-run arm-none-linux-gnueabi-size
arm-fsl-linux-gnueabi-run arm-linux-size arm-none-linux-gnueabi-strings
arm-fsl-linux-gnueabi-size arm-linux-strings arm-none-linux-gnueabi-strip
arm-fsl-linux-gnueabi-strings arm-linux-strip arm-fsl-linux-gnueabi-strip arm-none-linux-gnueabi-addr2line
2.
測試工具鏈
編寫一個簡單的應用程式檔案如 hello.c,然後在終端輸入 arm-fsl-linux-gnueabi-gcc
hello.c -o hello,編譯 hello.c,得到 hello 程式後,使用 file 命令檢視其格式。
[[email protected] hello]$ arm-fsl-linux-gnueabi-gcc
hello.c -o hello
[[email protected] hello]$ file hello
imx_adc_test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for
GNU/Linux 2.6.14, not stripped
如果得到如上資訊,可知 hello 程式是 ARM 格式的檔案,arm-none-linux-gnueabi-工具
鏈已經可以正常使用了


六、測試是否安裝成功
# arm-linux-gcc -v
上面的命令會顯示arm-linux-gcc資訊和版本。

但是發現提示如下:

[email protected]:~$  arm-linux-gcc -v
bash: /usr/local/arm-2009q3/bin/arm-linux-gcc: 沒有那個檔案或目錄
七、從網上搜索終於讓我找到了解決辦法

在這片文章中提到http://www.techbulo.com/1236.html
執行這個命令安裝lsb-core
sudo apt-get install lsb-core