我有一个简单的应用程序编译为arm我在QEMU中运行。我对内存对齐错误感兴趣,例如我有如下指令:
ldr r3, =0xa0000001
ldr r4, [r3]
我启用了MMU并启用了对齐检查:
mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #0x3
mcr p15, 0, r0, c1, c0, 0
但是当处理器执行上述gdb
之类的指令时,我的DATA ABORT异常处理程序(我已经验证它在ldr
中有效)不会被调用。仿真核心是ARMv5TE。可能是什么问题?