|
1
1
这不是特定Cortex CPU的功能。所有ARM CPU(包括Cortex)都支持升序和降序堆栈,以及“满”和“空”堆栈。 “上升”堆栈从低内存地址向高内存地址增长。相反,“递减”堆栈从高内存地址向下扩展到较低的地址。 “完整”堆栈是指堆栈指针指向包含数据的内存位置,在存储下一个值之前需要修改堆栈指针(递增或递减)。 “空”堆栈是堆栈指针已经指向下一个可用空间的地方。要推送数据,您需要将其存储在当前堆栈指针处,然后修改堆栈指针。 这一切都已描述 here ,并包括以下内容:
因此,初始堆栈指针指向RAM的末尾是您所期望的,因为堆栈必须向下增长。 |
|
|
MarkP · 皮层M0上的计数周期+ 7 年前 |
|
|
JerryYip · DAPLink是如何制作其虚拟文件系统的? 8 年前 |
|
|
bad_coffee · CLion中的GDB监视器命令 9 年前 |
|
|
Andrea Biondo · Cortex-M4F惰性FPU堆叠 9 年前 |
|
|
chamburger · 在Eclipse中使用ARM DS-5 10 年前 |
|
|
Nas Ahmet · IAR ARM编译器有奇怪的汇编指令 11 年前 |