我在Cortex M4上运行的应用程序因硬故障而崩溃。 CSFR寄存器指示IMPRECISERR
。
读取http://chmorgan.blogspot.nl/2013/06/debugging-imprecise-bus-access-fault-on.html建议在辅助控制寄存器(ACTLR)中设置DISDEFWBUF
位。这样我就可以获得更容易调试的PRECISERR
。
答案 0 :(得分:2)
阅读programming manual
对于我们的CPU,我们可以看到ACTLR位于地址0xE000 E008
,DISDEFWBUF
位是1
。
在main
中,可以使用以下代码设置此位:
*(uint8_t *)0xE000E008 |= (1<<i);
i = 1;