再上一篇:18.6 优化
上一篇:第19章
主页
下一篇:19.3 示例程序
再下一篇:19.4 访问特殊功能寄存器
文章列表

19.2 获取 GNU 工具链

《Cortex-M3 权威指南》,嵌入式处理器开发教程。

编译好的GNU工具链可以从 www.codesourcery.com/gnu_toolchains/arm/处下载。有一系 列的二进制构建版本。对于最简单的使用,可以使用EABI[注],并且不带嵌入式OS支持的版本。这 个工具链既有在Windows上使用的版本,也有在Linux上使用的版本。本章给出的示例程序可以用 于任何一个版本上。
注:(EABI表示嵌入式应用程序二进制接口。可执行目标文件必须符合该规格,从而可以跨开发工 具集使用)

19.2.1 开发流程

和 ARM开发工具的相似,GNU工具链也包含了编译器、汇编器和连接器,从而使得源代码既可 以使用 C,也可以使用汇编写成,如图 19.1所示。

图 19.1 基于 GNU 工具链的开发流程模式图
不同的应用程序环境中也有不同版本的工具链(Symbian, Linux, EABI 等)。取决于工具链 的目标平台,相应的可执行文件通常有一个前缀。例如,如果使用了 EABI 环境,则 GCC 命令为 arm-xxxx-eabi-gcc。本章的目标代码使用 CodeSourcery的 GNUARM工具链,如表 19.1所示。 表 19.1 winARM20080331 GNU工具链的命令名称

功能 命令




汇编器 arm-none-eabi-as 编译器 arm-none-eabi-gcc 连接器 arm-none-eabi-ld 二进制映像产生器 arm-none-eabi-objcopy 反汇编器 arm-none-eabi-objdump
在开发流程图中,连接脚本是可选的。但是当存储器映射比较复杂时,常常是必需的。