Ok, its hard coded for FW 2.0 at the mo, its better but I still loose it after about 2500 frames.
asm volatile(
"mov r0,%0 \n"
"ldr r1,=0x1182 \n"
"check_again: \n"
"ldrh r2,[r0,r1] \n"
""
"mov r3,#0xff \n"
"wait: \n"
"subs r3,r3,#1 \n"
"bne wait \n"...