关于“未定义的指令”:当ARM7TDMI处理器遇到一条自己和系统内任何协处理器都无法处理的指令时,ARM7TDMI内核执行未定义指令陷阱。软件可使用这一机制通过模拟未定义的协处理器指令来扩展ARM指令集。

注:ARM7TDMI处理器完全遵循ARM结构v4T,可以捕获所有分类未被定义的指令位格式。在模拟处理了失败的指令后,陷阱程序执行下面的指令:MOVS PC,R14_svc

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

ARM处理器的异常模式

关于“异常优先级”:当多个异常同时发生时,一个固定的优先级系统决定它们被处理的顺序:

ARM处理器的异常模式

注意:(1)未定义的指令和SWI异常互斥。因为同一条指令不能既是未定义的,又能产生有效的软件中断;

(2)当FIQ使能,并且FIQ和数据中止异常同时发生时,ARM7TDMI内核首先进入数据中止处理程序,然后立即跳转到FIQ向量。在FIQ处理结束后返回到数据中止处理程序。数据中止的优先级必须高于FIQ以确保数据转移错误不会被漏过。

关于嵌入式技术就介绍完了,您有什么想法可以联系小编。