我想知道一种可以将堆栈指针的值存储到C中变量的方法。
最佳答案
我发现内联 asm 没有用,因为它是特定于编译器的,特别是像这样的东西只需使用 asm 函数。对于 gnu 汇编器:
.thumb
.thumb_func
.globl GETSP
GETSP:
mov r0,sp
bx lr
在c中
extern unsigned int GETSP ( void );
...
unsigned int sp;
...
sp=GETSP();
了解您使用它的每个地方每次都会给出相同的值。对于许多编译器来说,整个函数将在整个函数中给出相同的结果,如果该函数被其他不同的函数重用,那么您可能会得到不同的 sp 值。
关于c - 在适用于 ARM Cortex M4f 的 Code Composer studio 中将堆栈指针的值保存在 C 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32953949/