下载
arm developer
arm developer官网下载
linaro
linaro官网下载
工具链的种类
GCC 的命名规则为: arch [-vendor] [-os] [-(gnu)eabi]-gcc 比如 arm-linux-gnueabi-gcc ,arm-none-eabi-gcc, aarch64-linux-gnu-gcc 带 [] 的是可选部分。 arch: 芯片架构,比如 32 位的 Arm 架构对应的 arch 为 arm,64 位的 Arm 架构对应的 arch 为 aarch64。 vendor :工具链提供商,大部分工具链名字里面都没有包含这部分。 os :编译出来的可执行文件(目标文件)针对的操作系统,比如 Linux。
arm-none-eabi-gcc 一般适用用于 Arm Cortex-M/Cortex-R 平台,它使用的是 newlib 库,来自CodeSourcery。
arm-linux-gnueabi-gcc 和 aarch64-linux-gnu-gcc 适用于 Arm Cortex-A 系列芯片,前者针对 32 位芯片,后者针对 64 位芯片,它使用的是 glibc 库。可以用来编译 u-boot、linux kernel 以及应用程序,来自linaro。
解压
tar.xz
创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz 解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
tar.bz2
解压tar.bz2文件类似,先bzip2 -d xxx.tar.bz2 将 xxx.tar.bz2解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
配置环境
在~/.bashrc文件末尾加上 export PATH=$PATH:/home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin 其中/home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin是工具链解压后bin文件夹的绝对路径,不同工具链路径之间用:隔开。 检查环境是否配置成功: 在任意位置打开终端,输入arm-linux-gnueabihf-gcc(在bin文件夹中可查找到该名字的文件,不同环境名字可能不同)-v查看gcc版本。
编译
可以编写一个简单的helloworld程序测试能否成功编译
问题
运行arm-linux-gnueabihf-gcc -v时: 1.bash: /home/xyw/arm/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-gcc: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录 解决:yum provides 文件名查看需要安装什么库,然后安装该库 2.库版本冲突 解决:升级低版本的库 3.未找到命令 解决:直接执行arm-linux-gnueabihf-gcc test.c -o test 发现还有需要安装的文件,按问题1的解决方法处理
|