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 的源库中下载,所以主机必须能够上外网,使用如下命令安装:
[chenxibing@localhost ~]$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 权限。在终端执行命令:
[chenxibing@localhost ~]$ 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-
前缀的命令,则基本可以确定交叉编译器安装正确。
[chenxibing@localhost ~]$ 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 命令查看其格式。
[chenxibing@localhost hello]$ arm-fsl-linux-gnueabi-gcc
hello.c -o hello
[chenxibing@localhost 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信息和版本。
但是发现提示如下:
jiahongkai@jiahongkai-virtual-machine:~$ 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