ARM异步外部中止

时间:2014-03-17 14:56:27

标签: exception arm abort

我在Cortex-A9上编写一个裸机应用程序,我经常收到数据中止异常。当我在CP15的数据故障状态寄存器(DFSR)中查找此异常的原因时,故障状态位(FS)的值为b10110。我查看了规范,b10110的意思是“异步外部中止”。这是什么意思?我找不到有关此类中止的任何有用信息。

例如,我有时会得到对齐故障,但我知道这意味着什么,因此我可以比较容易地追踪这些故障。但我不知道如何处理异步外部中止,因为我不知道它们的意思或它们发生的原因。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

疯狂猜测......你有未对齐的写入,它们被缓冲并且核心移动到后续指令,写入开始发生并失败。 Core不知道它们源自何处,因异步数据中止而失败。

从C ortex-A Series Programmers Guide阅读第11.1章例外类型,中止可能会给你一些想法。