ARM Processor Exception

ARM Processor Exception


虽然依赖于硬件实现,当一个给定的预定义事件发生时, 大多数ARM处理器都提供了专用硬件来进入调试模式。


大多数较新的ARM处理器提供了捕捉异常的硬件单元。 如果使能该硬件单元,其效果类似于在选定的向量表入口

放置一个断点, 这被成为是 vector catch。 然而,


1) 一些ARM处理器, 例如 ARM7, 没有提供向量捕捉硬件。 对于这些处理器, 调试硬件用指令断点来模拟它。


2) 对于Cortex-M3, 其等同于在目标向量放置一个断点。 Cortex-M3 具有一个有限的向量捕捉集合。


3) 如果异常向量位于 ROM 中, 调试硬件必须使用硬件断点来模拟向量捕捉。

如果该处理器不具有向量捕捉支持, 这将减少能为其他目的提供的硬件资源数量。


当调试硬件模拟一些早期的ARM处理器, 但是这些处理器又不具有向量捕捉硬件支持,

如果向量表位于 RAM 中间, 这时调试硬件使用软件断点。


当调试期间发生系统 RESET 时, 必须特别注意。 一些被调试目标硬件会在 RESET 后改变内存布局,

因此含有软件断点的物理内存地址可能不在正确的复位地址。

(译者注: u-boot 在运行时的重定位也类似。 因此在重定位前后, Trace32 debugger 必须手动计算一下新的地址偏移量)


如果被调试硬件使用软件指令断点来模拟复位向量, 下述警告信息可能被输出到你的调试器终端:

Warning: A software breakpoint is being used to simulate reset vector catch.
This may fail to be hit if the memory is remapped when a reset occurs.


ARM 向量捕捉的精确行为取决于处理器。 ARM9 处理器仅在特定的异常发生时菜金如调试模式。

其他处理器,比如 ARM11, 或者更老旧的使用断点的处理器, 只要异常向量处的指令被执行, 即进入调试模式,

而无须考虑异常发生与否。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值