如何在 Cortex M4 上设置辅助控制寄存器位

Red*_*ood 0 cortex-m

我在 Cortex M4 上运行的应用程序因硬故障而崩溃。CSFR 寄存器指示IMPRECISERR.

阅读http://chmorgan.blogspot.nl/2013/06/debugging-imprecise-bus-access-fault-on.html建议我设置DISDEFWBUF辅助控制寄存器 (ACTLR) 中的位。这将使我能够获得PRECISERR更容易调试的信息。

Red*_*ood 5

通过阅读编程手册 ACTLR对于我们的 CPU,我们可以看到 ACTLR 位于地址0xE000 E008DISDEFWBUF位是1

在 中main,可以使用以下代码设置该位:

*(uint8_t *)0xE000E008 |= (1<<i);
Run Code Online (Sandbox Code Playgroud)

在哪里 i = 1;