最近我开始学习 ThreadX RTOS,我注意到在链接器脚本中,并crt0.S
为 Cortex-M4 提供了 gcc 工具链,.stack
并且.heap
段的大小分别分配为 1024 字节和 128 字节。
在编写了一个在字节池上静态创建 2 个线程的简单程序后,我运行了objdump -t program.elf
. 原来,为字节池、线程控制块和其他ThreadX变量、指针分配的内存都在该.bss
节中。
.stack
我想知道创建和分区的目的是什么.heap
。它们是否存在以防调用动态内存分配函数(例如malloc
C 标准库(newlib)中的动态内存分配函数)?