【发布时间】:2017-05-09 13:39:53
【问题描述】:
当我将任何值写入外设寄存器(多 I/O SPI 接口)的地址时,我的程序会引发数据中止异常。我正在使用带有皮质 A9 内核的 Renesas RZ/A1L 处理器。
有趣的是,在另一个项目中,相同的源代码和相同的存储指令不会导致这样的异常。
在执行存储指令之前必须有一些东西禁止写入该地址或导致对该地址的访问冲突。
有趣的是,对反汇编中的关键指令执行单步操作,有时不会引发异常,并且可以执行下一个指令。但即便如此,对同一内存区域中的下一个寄存器进行写入或读取(加载/存储)也可能导致相同的行为。
【问题讨论】:
标签: cortex-a