ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
运行时栈是在单个连续存储器块中分配的,并从高位地址向下增长到低位地址。 SP 指向栈顶。
代码不会检查运行时栈是否溢出。当栈增长超出为其分配的内存空间限值时,就会发生栈溢出。确保为栈分配足够的存储器空间。
通过在链接器命令行上使用 --stack_size 链接选项并在选项后直接将栈大小指定为常量,可以在链接时更改栈大小。
编译器附带的 C/C++ 引导例程设置用户/线程模式运行时栈。如果程序在其他运算模式下使用运行时栈,则还必须分配空间并设置与这些模式对应的运行时栈。
EABI 要求 64 位数据(long long 和 long double 类型)按 64 位对齐。这要求栈在函数入口处以 64 位边界对齐,以便局部 64 位变量以正确对齐方式分配到栈中。引导例程在 64 位边界对齐栈。