ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , C346BA02 , C348A01 , CS241C01-Q1 , CS241C05-Q1 , CS246C01-Q1 , CS348C02-Q1 , OMAP-L132 , OMAP-L137 , OMAP-L138 , S470AV336LYSQRB , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
ARM C/C++ 编译器使用未初始化的段 .stack 来为运行时栈分配空间。可在链接时使用 --stack_size 选项设置此段的大小(以字节为单位)。--stack_size 选项的语法为:
--stack_size= size
size 必须是常量并以字节为单位。以下示例定义了一个 4K 字节的栈:
armcl --run_linker --stack_size=0x1000 /* defines a 4K heap (.stack section)*/
如果在输入段中指定了其他的栈大小,则输入段的栈大小将被忽略。输入段中定义的任何符号仍然有效;只是栈大小不同。
链接器在定义 .stack 段时,还会定义全局符号 __TI_STACK_SIZE,并为其分配一个等于该段大小的值。默认的软件栈大小为 2K 字节。有关在 C/C++ 代码中引用链接器符号的信息,请参阅节 8.6。