棋子 · 2020年01月08日

Cortex-M7:总线故障时强制精确异常

我想知道是否有人知道在发生总线故障时强制Cortex-M7 CPU采取精确异常的方法。我正在编写一个要求总线故障处理程序知道生成总线故障的指令的确切地址的应用程序,以便它可以采取补救措施。显然,在Cortex-M3和M4 CPU中,可以通过将辅助控制寄存器中的DISDEFWBUF位置1来禁用加载/存储缓冲区,从而实现此目的。我似乎在M7中找不到类似的功能(也许是因为M7具有缓存,而M3 / 4没有?)。我想避免编写代码来搜索指令以查找可能引起异常的指令,因为这看起来可能会变得复杂。我也想避免禁用缓存。

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月08日

嗨,
在这里,由于Cortex-M7 D缓存默认情况下以写回模式运行(如果已启用),即使禁用了写缓冲区,也无法找到发出传输的确切点。结果,DISDEFWBUF功能在Cortex-M7中将不再有用。而且,AXI接口支持多种出色的传输,因此,不幸的是,我想不出任何方法来使总线故障更加精确。

你的回答
关注数
1
收藏数
0
浏览数
2427
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息