当我将任何值写入外设寄存器的地址(多I / O SPI接口)时,我的程序引发数据中止异常。我正在使用Renesas RZ / A1L处理器和皮质A9核心。
有趣的是,在另一个项目中,相同的源代码和相同的存储指令不会导致这种异常。
在执行存储指令之前必须有一些东西禁止写入此地址或导致对此地址的冲突访问。
有趣的是,在反汇编中对关键指令执行单步操作,有时会导致无异常,并且可以执行下一个指令。但即便如此,在同一存储区域中写入或读取(加载/存储)下一个寄存器也会导致相同的行为。
答案 0 :(得分:0)
MMU提出了例外。 MMU中未配置包含多I / O SPI接口寄存器地址的存储器部分。
为什么在反汇编中单步执行不会触发MMU数据abourt异常仍未解决。