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

6.12 链 结 异 常 处 理 程 序<br />

某 些 情 况 下 , 一 个 特 定 的 异 常 可 能 会 有 几 个 不 同 的 源 。 例 如 :<br />

• Angel 使 用 一 条 未 定 义 指 令 来 执 行 断 点 。 但 是 , 当 该 协 处 理 器 不 存 在 时 执<br />

行 协 处 理 器 指 令 也 会 发 生 未 定 义 指 令 异 常 。<br />

• Angel 使 用 一 个 多 用 途 的 SWI, 例 如 从 用 户 模 式 进 入 超 级 用 户 模 式 , 并 支 持<br />

开 发 过 程 中 的 半 主 机 申 请 。 但 是 , RTOS 或 应 用 程 序 也 可 能 会 执 行 一 些<br />

SWI。<br />

在 此 情 况 下 , 可 采 用 下 列 方 法 扩 展 该 异 常 处 理 代 码 。<br />

• 单 层 扩 展 处 理 程 序 ;<br />

• 几 个 链 结 的 处 理 程 序 。<br />

6.12.1 单 层 扩 展 处 理 程 序<br />

某 些 情 况 下 , 将 异 常 处 理 程 序 的 代 码 加 以 扩 展 来 确 定 产 生 异 常 的 源 是 可 能 的 , 然<br />

后 直 接 调 用 相 应 代 码 。 这 种 情 况 下 , 需 要 为 异 常 处 理 程 序 修 改 代 码 。<br />

Angel 是 为 简 化 该 方 法 而 编 写 。 Angel 将 SWI 和 未 定 义 指 令 进 行 解 码 , 并 且<br />

Angel 异 常 处 理 程 序 可 进 行 扩 展 来 处 理 非 Angel SWI 和 未 定 义 指 令 。<br />

但 是 , 该 方 法 仅 在 编 写 单 层 异 常 处 理 程 序 时 所 有 的 异 常 源 均 为 已 知 的 情 况 下 才<br />

是 有 用 的 。<br />

6.12.2 几 个 链 结 的 处 理 程 序<br />

某 些 情 况 下 不 仅 仅 要 求 单 层 处 理 程 序 。 在 标 准 Angel 调 试 器 执 行 的 情 况 下 , 下<br />

载 了 某 个 想 支 持 其 它 SWI 的 独 立 用 户 应 用 程 序 ( 或 RTOS)。 新 载 入 的 应 用 程<br />

序 可 能 会 有 其 完 全 独 立 的 异 常 处 理 程 序 要 求 进 行 安 装 , 但 它 不 能 取 代 Angel 处<br />

理 程 序 。<br />

在 此 情 况 下 , 当 新 处 理 程 序 发 现 异 常 源 不 是 它 能 处 理 的 源 时 , 则 必 须 标 记 原 有 的<br />

处 理 程 序 的 地 址 、 以 便 该 新 处 理 程 序 能 够 调 用 原 有 的 处 理 程 序 。 例 如 , 在 发 现 某<br />

个 SWI 不 是 RTOS SWI 时 , RTOS SWI 处 理 程 序 调 用 Angel SWI 处 理 程 序 , 使<br />

得 该 Angel SWI 处 理 程 序 有 机 会 处 理 它 。<br />

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

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

Saved successfully!

Ooh no, something went wrong!