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 />

从 数 据 中 断 处 理 程 序 返 回<br />

当 装 入 或 存 储 指 令 试 图 访 问 存 储 器 时 , 程 序 计 数 器 被 更 新 。 (PC - 4) 的 存 储 值 指<br />

向 产 生 异 常 地 址 处 的 第 二 条 指 令 。MMU( 如 果 有 ) 将 相 应 地 址 映 射 至 物 理 存 储<br />

器 , 处 理 程 序 必 须 返 回 到 原 来 中 断 的 指 令 , 以 便 进 行 第 二 次 执 行 尝 试 。 因 此 , 返<br />

回 地 址 较 lr_ABT 中 少 两 个 字 ( 八 个 字 节 ), 使 用 如 下 返 回 指 令 :<br />

SUBS pc, lr, #8<br />

将 返 回 地 址 推 入 堆 中 并 在 返 回 时 将 其 弹 出 的 处 理 程 序 入 口 和 出 口 代 码 为 :<br />

SUB<br />

STMFD<br />

;...<br />

LDMFD<br />

lr,lr,#8<br />

sp!,{reglist,lr}<br />

sp!,{reglist,pc}^<br />

对 于 发 生 在 Thumb 状 态 下 的 异 常 , 处 理 程 序 返 回 指 令 (SUBS pc,lr,#8) 改 变 了 程<br />

序 计 数 器 , 将 其 指 向 产 生 中 断 指 令 的 地 址 。 由 于 程 序 计 数 器 的 更 新 是 在 处 理 异 常<br />

之 前 , 中 断 指 令 应 在 (PC - 6)。 因 此 , 处 理 器 存 储 在 lr_mode 的 值 为 (PC + 2)。<br />

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

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

Saved successfully!

Ooh no, something went wrong!