RealView - ARM Information Center
RealView - ARM Information Center
RealView - ARM Information Center
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
使 用 分 散 加 载 描 述 文 件5.3.9 使 用 预 处 理 指 令可 以 使 用 分 散 加 载 描 述 文 件 中 的 第 一 行 , 指 定 链 接 器 为 处 理 该 文 件 而 调 用 的 预处 理 程 序 。 此 命 令 的 格 式 如 下 :#! [pre_processor_flags]通 常 情 况 下 , 此 命 令 是 #! armcc -E。链 接 器 可 以 使 用 一 组 有 限 的 运 算 符 执 行 简 单 的 表 达 式 求 值 , 即 +、- 、*、/、AND、OR和 括 号 。 OR 和 AND 实 现 遵 循 C 运 算 符 优 先 级 规 则 。您 可 以 将 预 处 理 指 令 添 加 到 分 散 加 载 描 述 文 件 的 顶 部 。 例 如 :#define ADDRESS 0x20000000#include "include_file_1.h"链 接 器 解 析 预 处 理 的 分 散 加 载 描 述 文 件 , 其 中 将 这 些 指 令 视 为 注 释 并 忽 略 。举 一 个 简 单 的 例 子 :#define AN_ADDRESS (BASE_ADDRESS+(ALIAS_NUMBER*ALIAS_SIZE))使 用 以 下 指 令 :#define BASE_ADDRESS 0x8000#define ALIAS_NUMBER 0x2#define ALIAS_SIZE 0x400如 果 分 散 加 载 描 述 文 件 包 含 :LOAD_FLASH AN_ADDRESS; start address进 行 预 处 理 后 , 将 对 其 进 行 计 算 , 结 果 为 :LOAD_FLASH ( 0x8000 + ( 0x2 * 0x400 )) ; start address在 进 行 计 算 后 , 链 接 器 解 析 分 散 加 载 文 件 以 生 成 加 载 区 :LOAD_FLASH 0x8808 ; start address有 关 使 用 --predefine 命 令 行 选 项 的 详 细 信 息 , 请 参 阅 第 2-11 页 的 为 映 像 指 定 内存 映 射 信 息 。<strong>ARM</strong> DUI 0349AC 版 权 所 有 © 2007 <strong>ARM</strong> 公 司 。 保 留 所 有 权 利 。 5-45