您好!
在以下 URL 中有对主堆的描述。
此 URL 中的帖子显示"priheap is the primary heap (PRheap 只是主堆)"、但主堆是什么? 我想知道如何使用它。
我认为堆区域是由 sysmem 划分的、但主堆和 sysmem 之间有何区别?
就链接器命令文件而言、HEAPSIZE 设置的大小似乎放置在主堆段中。
*==== MSP432E411Y_BGAEVM.cmd =========
*定义 MSP432E411Y_BGAEVM M4的存储器块开始/长度
*
--stack_size=1024 // C 栈也用于 ISR 堆栈*/
HEAPSIZE = 0x20000;HeapMem 使用的堆缓冲区的大小*/
存储器
{
闪存(RX):origin = 0x00000000,length = 0x00100000
SRAM (rwx):origin = 0x20000000,length = 0x00040000
}
/*内存中的段分配*/
部分
{
.text:> FLASH
.const:> FLASH
.rodata:> FLASH
.cinit:>闪存
.pinit:> FLASH
init_array:> FLASH
.TI.ramfunc:{} load=flash,run=SRAM,table (BINIT)
.data :> SRAM
.bss:> SRAM
.sysmem:> SRAM
/* HeapMem 使用的堆缓冲区*/
.priheap:{
_primary_heap_start__=.;
。 += HEAPSIZE;
__primary_heap_end__=.;
}> SRAM 对齐8
.stack:> SRAM (高)
}
================================================================================
谢谢、
Astro

