RealView® 编译工具 链接器用户指南

4.0 版


Table of Contents

前言
关于本手册
适用对象
使用本手册
印刷约定
更多参考出版物
反馈
对 RealView 编译工具的反馈
关于本手册的反馈
1. 简介
1.1. 关于 ARM 链接器
1.1.1. ARM 链接器的输入
1.1.2. ARM 链接器的输出
1.2. 与旧对象和库的兼容性
2. ARM 链接器使用入门
2.1. 链接模型
2.1.1. 裸机
2.1.2. 部分链接
2.1.3. 对 BPABI 和 SysV 通用的概念
2.1.4. BPABI
2.1.5. SysV
2.2. 使用命令行选项
2.2.1. 调用 ARM 链接器
2.2.2. 命令行选项排序
2.2.3. 使用环境变量指定命令行选项
2.2.4. 从文件读取命令行选项
3. 使用基本链接器功能
3.1. 指定映像结构
3.1.1. 对象和映像的构建块
3.1.2. 映像的加载视图和执行视图
3.1.3. 指定映像的内存映射
3.1.4. 映像入口点
3.2. 节放置
3.2.1. 按属性排序输入节
3.2.2. 使用 FIRST 和 LAST 放置节
3.2.3. 对齐节
3.2.4. 对包含 Thumb 代码的执行区进行排序
3.3. 节删除
3.3.1. 公共调试节删除
3.3.2. 公共组或节删除
3.3.3. 未使用节删除
3.3.4. 未使用虚函数删除
3.4. 反馈
3.4.1. 示例
3.5. RW 数据压缩
3.5.1. 选择压缩器
3.5.2. 如何应用压缩?
3.5.3. 使用 RW 数据压缩
3.6. 中间代码
3.6.1. 中间代码共享
3.6.2. 中间代码变体
3.6.3. “PI 到绝对”中间代码
3.6.4. 在重叠执行区重复使用中间代码
3.7. 内联
3.7.1. 影响内联的因素
3.7.2. 处理尾调用节
3.8. 使用命令行选项创建简单映像
3.8.1. 类型 1,一个加载区和几个连续执行区
3.8.2. 类型 2,一个加载区和几个不连续的执行区
3.8.3. 类型 3,两个加载区和几个不连续的执行区
3.9. 使用命令行选项处理 C++ 异常
3.10. 获得有关映像的信息
3.10.1. 使用与映像相关的信息
3.11. 库搜索、选择和扫描
3.11.1. 搜索 ARM 库
3.11.2. 搜索用户库
3.11.3. 扫描库
4. 访问映像符号
4.1. ARM/Thumb 同义词
4.2. 访问链接器定义的符号
4.2.1. 与区相关的符号
4.2.2. 与节相关的符号
4.2.3. 导入链接器定义的符号
4.3. 访问其他映像中的符号
4.3.1. 创建 symdefs 文件
4.3.2. 读取 symdefs 文件
4.3.3. symdefs 文件格式
4.4. 隐藏和重命名全局符号
4.4.1. 控制文件格式
4.5. 使用 $Super$$ 和 $Sub$$ 覆盖符号定义
4.6. 符号版本控制
4.6.1. 版本
4.6.2. 缺省版本
4.6.3. 创建区分版本的符号
5. 使用分散加载描述文件
5.1. 关于分散加载
5.1.1. 为分散加载定义的符号
5.1.2. 使用分散加载描述文件指定堆栈和堆
5.1.3. 何时使用分散加载
5.1.4. 分散加载命令行选项
5.1.5. 具有简单内存映射的映像
5.1.6. 具有复杂内存映射的映像
5.2. 指定区和节地址的示例
5.2.1. 在分散加载描述中选择中间代码输入节
5.2.2. 创建根执行区
5.2.3. 使用重叠区放置节
5.2.4. 为根区分配节
5.2.5. 保留空白区
5.2.6. 放置 ARM 库
5.2.7. 在页边界上创建区
5.2.8. 使用预处理指令
5.3. 简单映像的等效分散加载描述
5.3.1. 类型 1,一个加载区和几个连续执行区
5.3.2. 类型 2,一个加载区和几个不连续的执行区
5.3.3. 类型 3,两个加载区和几个不连续的执行区

所有权声明

除非本所有权声明在下面另有说明,否则带有 ®™ 标记的词语和徽标是 ARM Limited 在欧盟和其他国家/地区的注册商标或商标。 此处提及的其他品牌和名称可能是其各自所有者的商标。

除非事先得到版权所有人的书面许可,否则不得以任何形式修改或复制本文档包含的部分或全部信息以及产品说明。

本文档描述的产品还将不断发展和完善。 ARM Limited 将如实提供本文档所述产品的所有特性及其使用方法。 但是,所有暗示或明示的担保,包括但不限于对特定用途适销性或适用性的担保,均不包括在内。

本文档的目的仅在于帮助读者使用产品。 对于因使用本文档中的任何信息、文档信息出现任何错误或遗漏或者错误使用产品造成的任何损失或损害,ARM 公司概不负责。

使用 ARM 一词时,它表示 ARM 或其任何相应的子公司。

保密状态

本文档的内容是非保密的。 根据 ARM 与 ARM 将本文档交予的参与方的协议条款,使用、复制和公开本文档内容的权利可能会受到许可限制的制约。

受限访问是一种 ARM 内部分类。

产品状态

本文档的信息是开发的产品的最新信息。

Revision History
Revision A2002 年 8 月1.2 版
Revision B2003 年 1 月2.0 版
Revision C2003 年 9 月ARM® RealView® Developer Suite 2.0.1 版
Revision D2004 年 1 月RealView Developer Suite 2.1 版
Revision E2004 年 12 月RealView Developer Suite 2.2 版
Revision F2005 年 5 月RealView Development Suite 2.2 SP1 版
Revision G2006 年 3 月RealView Development Suite 3.0 版
Revision H2007 年 3 月RealView Development Suite 3.1 版
Revision I2008 年 9 月RealView Development Suite 4.0 版
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0206IC
Non-Confidential