自己解决了。。。看了下这段代码的反汇编之后在那个参数定义的时候加了个 volatile修饰一下。
不加volatile之前的反汇编代码(第一张图)如下
000109e4 ldrb r0,[r1,#0]
000109e8 cmp r0,#0x55
000109ec bne 0x109e8
加volatile之后的反汇编代码(第二张图)如下
000109ec bne 0x109e4