编译ARM GCC要点

嵌入式GCC编译指南

准备

 

需要准备binutil包,需要g++支持的需要准备g++包。gcc core当然是必备的。编译最新的4.5.0版需要准备另外一些包,他们在config gcc的时候会说明,都拿下来编译即可。另外需要准备newlib,它很小,适合手机。

 

 

要点一 不可以在编译目录下面configmake

 

为了做到要点一,我们需要mkdir另外一个子目录。如

mkdir build

cd build

../configure ...

 

要点二 把需要的包用symlink-tree工具链接入编译目录

比如,编译 binutil同时需要编译gccgccnewlib。假定这时候当前目录在build下面,则使用一下命令

../symlink-tree ../../newlib

../symlink-tree ../../gcc-4.5.0

 

要点三 用选项改变安装的默认路径,目标架构,需要的包和软浮点选项

比如你想要安装在/opt/armtoolchain 目标架构是arm-elf,需要newlib包,需要软浮点,

而且当前目录在build下面,那么,

../configure –prefix=/opt/armtoolchain –target=arm-elf –with-newlib –with-float=soft

### 设置和使用 ARM 交叉编译环境 在 Windows 系统上设置和使用 ARM 交叉编译环境可以通过多种方法实现,以下是几种常见的方案及其具体配置方式。 #### 方法一:基于 VSCode 的交叉编译环境 Visual Studio Code (VSCode) 提供了一个强大的扩展生态系统,可以轻松支持 ARM 跨平台开发。通过安装必要的插件并配置适当的工具链,可以在 Windows 上完成针对 Linux-Arm 平台的应用程序开发[^1]。 - **步骤说明** - 安装适用于 C/C++ 开发的 Visual Studio 扩展。 - 下载适合目标系统的 GCC 工具链(如 `arm-linux-gnueabihf-gcc` 或者 `aarch64-none-linux-gnu-gcc`),并将该路径加入到系统 PATH 中。 - 创建一个新的项目,在项目的根目录下创建 `.vscode/tasks.json` 和 `launch.json` 文件用于定义构建任务以及调试器连接参数。 ```json { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "arm-linux-gnueabihf-gcc", "args": ["-o", "${fileDirname}/${fileBasenameNoExtension}", "${file}"], "group": "build" } ] } ``` #### 方法二:借助 WSL 实现 ARM 编程 Windows Subsystem for Linux (WSL) 是一种兼容层技术,允许开发者无需虚拟机即可运行原生 Ubuntu 命令行应用程序。这为搭建 ARM 交叉编译提供了便利条件[^3]。 - **操作指南** - 启动 WSL 终端窗口; - 更新包管理器索引源列表 apt-get update && sudo apt install gcc-arm-linux-gnueabi; - 使用 cmake 自定义脚本来声明目标体系结构: ```cmake set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) find_program(CC_COMPILER arm-linux-gnueabi-gcc) enable_language(CXX ASM) message(STATUS "Cross compiling enabled.") ``` #### 方法三:采用 Cygwin 模拟 Unix Shell Cygwin 可提供 POSIX 兼容接口模拟层,从而让部分原本依赖于 GNU/Linux 用户空间的服务得以正常运作。它同样能够承载完整的 ARM-GCC 工具链部署工作流[^4]。 - **实践要点** - 访问官网下载最新版安装镜像 https://www.cygwin.com/install.html ; - 在图形界面引导过程中勾选额外组件 category->devel 下面找到对应名称前缀带有 'gcc-' 字样的条目; - 测试新安装好的命令是否可用比如 echo '#include <stdio.h>\nint main(){printf("hello world\n");return 0;}' | /usr/bin/arm-eabi-gcc - --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值