【问题标题】:Data abort exception when writing to peripheral register写入外设寄存器时出现数据中止异常
【发布时间】:2017-05-09 13:39:53
【问题描述】:

当我将任何值写入外设寄存器(多 I/O SPI 接口)的地址时,我的程序会引发数据中止异常。我正在使用带有皮质 A9 内核的 Renesas RZ/A1L 处理器。

有趣的是,在另一个项目中,相同的源代码和相同的存储指令不会导致这样的异常。

在执行存储指令之前必须有一些东西禁止写入该地址或导致对该地址的访问冲突。

有趣的是,对反汇编中的关键指令执行单步操作,有时不会引发异常,并且可以执行下一个指令。但即便如此,对同一内存区域中的下一个寄存器进行写入或读取(加载/存储)也可能导致相同的行为。

【问题讨论】:

    标签: cortex-a


    【解决方案1】:

    异常是由 MMU 引发的。包含多 I/O SPI 接口寄存器地址的存储器部分未在 MMU 中配置。

    为什么单步反汇编没有触发MMU数据中止异常仍未解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      相关资源
      最近更新 更多