我在玩蓝色药丸(Stm32F103CB)并试图通过汇编设置 r7 寄存器,
.syntax unified
.cpu cortex-m3
.fpu softvfp
.thumb
.global vtable
.global reset_handler
.type vtable, %object
vtable:
.word _estack
.word reset_handler
.size vtable, .-vtable
.type reset_handler, %function
reset_handler:
LDR r0, =_estack
MOV sp, r0
LDR r7, =0xDEADBEEF
.size reset_handler, .-reset_handler
错误是,当我通过 gdb -> info registers 观察寄存器值时,我看到的是r8寄存器集而不是r7,如下图所示。
elf 的 objdump 反汇编似乎也是正确的。
我无法理解为什么会发生这种情况,对多个板进行了相同的尝试,我该如何调试和解决这个问题。
提前致谢。