我使用keil作为stm32f10x,在启动时有一些单词。 什么是menas Heap_Size Heapbase在启动时微stm32f10x ??
启动文件的一部分
Heap_Size EQU 0x00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
可以指导我吗?
答案 0 :(得分:1)
当使用malloc()或calloc()时,堆是用于内存分配的内存区域。如果应用程序不使用内存分配,那么它并不重要。我的编译器默认存储10个字节用于堆,我就这样保留它。如果将使用内存分配,则必须确保与从软件分配的大小相比,堆大小会更大。我不会使用Keil,但我非常确定" base"是RAM内的堆的起始地址和" size"是堆的字节数。如果你不知道该怎么做,那么从Keil设置中编辑大小,让链接器决定基地址。