在ARM Cortex M4f的Code Composer studio中保存C变量中堆栈指针的值

时间:2015-10-05 17:00:42

标签: c assembly arm

我想知道一种方法,可以将堆栈指针的值存储到C中的变量中。

1 个答案:

答案 0 :(得分:0)

我发现内联asm没用,因为它是特定于编译器的,特别是像这样的东西只是使用asm函数。对于gnu汇编程序:

.thumb
.thumb_func
.globl GETSP
GETSP:
   mov r0,sp
   bx lr

in c

extern unsigned int GETSP ( void );
...
unsigned int sp;
...
sp=GETSP();

明白你使用它的每个地方每次都会给出相同的价值。对于许多编译器,整个函数将在函数中给出相同的结果,如果函数被其他不同的函数重用,那么你可能会得到sp值变化。