19.08.2013 Views

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

ARM7TDMI-S(Rev 4)技术参考手册 - Read

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.

广州周立功单片机发展有限公司 Tel (020)38730976 38730916 Fax 38730925 http //www.zlgmcu.com<br />

未定义指令陷阱 软件可使用这一机制通过仿真未定义的协处理器指令来扩展 ARM 指令集<br />

注 <strong>ARM7TDMI</strong>-S 处理器完全遵循 ARM 结构 v4T 可以捕获所有分类未被定义的指令位格式<br />

在防止失败的指令后<br />

MOVS PC,R14_und<br />

捕获处理器执行下面的指令<br />

这个动作恢复了 PC 和 CPSR 并返回到未定义指令之后的指令<br />

关于未定义指令更详细的信息请参考 ARM 体系结构参考手册<br />

2.9.9 异常向量<br />

异常向量<br />

表 2-4 所示位异常向量地址<br />

表 2-4 异常向量<br />

在表中 I 和 F 表示先前的值<br />

地址 异常 进入时的模式 进入时 I 的状态 进入时 F 的状态<br />

0x00000000 复位 超级用户 禁止 禁止<br />

0x00000004 未定义指令 未定义 I F<br />

0x00000008 软件中断 超级用户 禁止 F<br />

0x0000000C 中止 预取指 中止 I F<br />

0x00000010 中止 数据 中止 I F<br />

0x00000014 保留 保留<br />

0x00000018 IRQ IRQ 禁止 F<br />

0x0000001C FIQ FIQ 禁止 禁止<br />

2.9.10 异常优先级<br />

异常优先级<br />

当多个异常同时发生时 一个固定的优先级系统决定它们被处理的顺序<br />

1. 复位 最高优先级<br />

2. 数据中止<br />

3. FIQ<br />

4. IRQ<br />

5. 预取指中止<br />

6. 未定义指令<br />

7. SWI 最低优先级<br />

有些异常不能一起发生<br />

未定义的指令和 SWI 异常互斥 它们分别对应于当前指令的一个特定 非重叠 译码<br />

当 FIQ 使能 并且在发生 FIQ 的同时产生了一个数据中止 <strong>ARM7TDMI</strong>-S 内核进入数据中止处<br />

理程序 然后立即转到 FIQ 向量 从 FIQ 的正常返回使数据中止处理程序恢复执行 数据中止<br />

的优先级必须高于 FIQ 以确保数据转移错误不会被漏过<br />

最坏情况下 FIQ 的延迟时间<br />

必须将异常入口的时间增加到系统中<br />

2.10 中断延迟<br />

中断延迟<br />

中断延迟被描述为<br />

最大中断延迟<br />

最小中断延迟<br />

2.10.1 最大中断延迟<br />

最大中断延迟<br />

最大中断延迟<br />

当 FIQ 使能时 最坏情况下 FIQ 的延迟时间包含<br />

- 17 -

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

Saved successfully!

Ooh no, something went wrong!