01.12.2014 Views

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

RealView Compilation Tools Developer Guide - ARM Information ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

嵌 入 式 软 件 开 发<br />

示 例 2-19 使 用 DCD 命 令<br />

IMPORT<br />

IMPORT<br />

IMPORT<br />

IMPORT<br />

||Image$$STACK$$ZI$$Base||<br />

||Image$$STACK$$ZI$$Limit||<br />

||Image$$HEAP$$ZI$$Base||<br />

||Image$$HEAP$$ZI$$Limit||<br />

stack_base DCD ||Image$$STACK$$ZI$$Limit|| ; = 0x4000<br />

stack_limit DCD ||Image$$STACK$$ZI$$Base|| ; = 0x1000<br />

heap_base DCD ||Image$$HEAP$$ZI$$Base|| ; = 0x15000<br />

heap_limit DCD ||Image$$HEAP$$ZI$$Limit|| ; = 0x18000<br />

可 使 用 这 些 示 例 将 堆 基 址 放 置 在 0x15000, 将 栈 基 址 放 置 在 0x1000。 然 后 , 堆 和<br />

栈 的 基 址 位 置 通 过 分 别 编 辑 其 执 行 区 可 以 很 容 易 地 改 变 。<br />

使 用 分 散 文 件 的 EMPTY 属 性<br />

该 方 法 使 用 了 链 接 程 序 的 分 散 文 件 EMPTY 属 性 。 这 将 使 得 要 定 义 的 区 域 不 包 括 目<br />

标 代 码 或 数 据 。 这 是 定 义 堆 和 栈 的 一 个 方 便 方 法 。 区 域 的 长 度 在 EMPTY 属 性 后 指<br />

定 。 对 于 存 储 器 中 向 上 增 长 的 堆 , 其 区 域 的 长 度 为 正 。 对 于 栈 , 其 长 度 被 标 为 负<br />

数 , 指 示 它 在 存 储 器 中 是 向 下 增 长 的 。 示 例 2-20 说 明 了 如 何 使 用 EMPTY 属 性 。<br />

该 方 法 的 优 点 是 堆 和 栈 的 大 小 和 位 置 是 在 一 个 地 方 定 义 的 , 即 在 分 散 文 件 中 。 您<br />

不 必 创 建 stackheap.s 文 件 。<br />

示 例 2-20 使 用 EMPTY 放 置 栈 区 和 堆 区<br />

ROM_LOAD 0x24000000 0x04000000<br />

{<br />

:<br />

HEAP 0x30000 EMPTY 0x3000<br />

{<br />

}<br />

:<br />

}<br />

STACKS 0x40000 EMPTY -0x3000<br />

{<br />

}<br />

链 接 时 , 链 接 程 序 生 成 代 表 这 些 EMPTY 区 的 符 号 。<br />

<strong>ARM</strong> DUI 0203BSC © 2002、 2003 <strong>ARM</strong> Limited 版 权 所 有 。 保 留 所 有 权 利 。 2-37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!