0

我读了很多东西,包括在这个网站上关于不可能的约束 asm 但无法弄清楚代码有什么问题`

  __asm__ volatile (
"movw r2, #:lower16:_Per_CPU_Information\n"
"movt r2, #:upper16:_Per_CPU_Information\n"
"ldr r3, [r0, %[isrctxoff]]\n"
"ldr sp, [r0, %[spctxoff]]\n"
"ldm r0, {r4-r11, lr}\n"
"str r3, [r2, %[isrpcpuoff]]\n"
"bx lr\n"
:
: [spctxoff] "J" (offsetof(Context_Control, register_sp)),
  [isrctxoff] "J" (offsetof(Context_Control, isr_nest_level)),
  [isrpcpuoff] "J" (offsetof(Per_CPU_Control, isr_nest_level))
);

作为工具集,我将 -gcc-4.8.0 用于 ARM。有人知道可以是什么吗?

4

0 回答 0