gcc工具链

这是网上找到的一些下载交叉编译环境(包含各种版本)的网站

  1. http://ftp.arm.linux.org.uk/pub/armlinux/toolchain
  2. http://opensrc.sec.samsung.com/download.html
  3. http://www.handhelds.org/download/projects/toolchain/
  4. http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 
  5. http://linux.omap.com/pub/toolchain/
  6. 使用搜索工具搜索arm-linux-gcc或arm-elf-gcc

 

 

最常用的编译版本是arm-linux-gcc-3.4.1 和 arm-linux-3.3.2 的,现在的嵌入式开发基本上用的是这些。

  1. 3.4.1的用于编译2.6的内核,而3.3.2的常用于编译busybox,和bootloader(u- boot)。
  2. 编译的版本配合不好的话就会出错,所以要选择好编译版本,如果这个版本不行的话,可以试试其他的版本。
  3. 在uclinux上用的多的就是 arm-elf-tools-20030314

3.4.1和3.3.2下载地址:

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2

 

 

注意:

  1. 如果系统中同时安装3.4.1和3.3.2的版本的话,可以在 .bashrc 中通过设置PATH来指定默认的版本为GCC3.4.1。如果需要使用3.3.2的话,则需要用具体的路径指定 (/usr/local/arm/3.3.2/bin/arm-linux-)。 例如编译u-boot或者busybox的时候指定3.3.2的版本:CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux-
  2. 关于arm-linux- toolchain,arm-elf-toochain的区别,主要是编译过程中所用的C库的不同,arm-linux用的是glibc,arm-elf 用的是newlibc,ulibc等,具体的可以去网上搜集,一般编译arm+linux的用arm-linux-,而编译uclinux则用arm- elf-

 


 

 

### 安装和配置 ARM GCC 工具链 #### 下载工具链 为了获取ARM GCC工具链,可以从多个来源下载。一种方法是从GNU Arm Embedded Toolchain官方网站直接下载适用于操作系统的版本[^1]。 对于更便捷的方式,也可以利用GCC-ARM开发环境软件包来简化这一过程。该软件包提供了集成化的解决方案,使得安装更加简便[^3]。 #### 配置环境变量 下载并解压工具链之后,需要设置环境变量以便命令行能够识别`arm-none-eabi-gcc`等可执行文件的位置。假设工具链被放置于`/opt/gcc-arm-none-eabi/bin`目录下,在Linux或macOS上可以通过编辑`.bashrc`或`.zshrc`文件加入如下路径: ```bash export PATH=/opt/gcc-arm-none-eabi/bin:$PATH ``` 在Windows操作系统中,则需通过系统属性中的高级选项调整环境变量,向`Path`增加相应路径。 #### 使用 CMake 进行项目构建 当希望进一步提高工作效率时,可以借助CMake及其专门针对特定硬件平台定制的工具链文件来进行项目的自动化管理与编译工作。创建一个名为`Toolchain-arm-none-eabi.cmake`的新文件,并在里面指定交叉编译器前缀为`arm-none-eabi-`[^2]。 ```cmake set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSOR arm) set(TOOLCHAIN_PREFIX "arm-none-eabi") set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-g++) set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}-as) set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}-objcopy CACHE INTERNAL "") set(CMAKE_SIZE_UTIL ${TOOLCHAIN_PREFIX}-size CACHE INTERNAL "") set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) ``` 随后,在调用CMake时传入此工具链文件作为参数即可完成整个流程的初始化: ```bash mkdir build && cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=../Toolchain-arm-none-eabi.cmake make ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值