ARM 异步外部中止
Posted
技术标签:
【中文标题】ARM 异步外部中止【英文标题】:ARM Asynchronous external abort 【发布时间】:2014-03-17 14:56:27 【问题描述】:我正在 Cortex-A9 上编写裸机应用程序,并且经常遇到数据中止异常。当我在 CP15 的数据故障状态寄存器 (DFSR) 中查找此异常的原因时,故障状态位 (FS) 的值是 b10110。我查看了规范,b10110 的意思是“异步外部中止”。这是什么意思?我找不到任何关于这种中止的有用信息。
例如,我有时也会遇到对齐错误,但我知道这意味着什么,因此我可以相对容易地找到这些类型的错误。但我不知道如何处理异步外部中止,因为我不知道它们的含义或它们发生的原因。谢谢你的帮助。
【问题讨论】:
您设置了sctlr.a
吗?我想知道这是否会让你同步中止。
【参考方案1】:
猜测...您有未对齐的写入,它们被缓冲并且核心移动到后续指令,写入开始发生并失败。 Core 不知道它们的来源,因异步数据中止而失败。
从 Cortex-A Series Programmers Guide 阅读第 11.1 章异常类型,中止可能会给你一些想法。
【讨论】:
以上是关于ARM 异步外部中止的主要内容,如果未能解决你的问题,请参考以下文章