定义内存池大小:
#define MEM1_MAX_SIZE 100*1024
__align(32) u8 mem1base[MEM1_MAX_SIZE]; //定义内存池100KByte
启动代码里面定义的堆的大小:
Heap_Size EQU 0x00000200 ;512Byte
问题:
1、 mem1base[MEM1_MAX_SIZE] 这个数组是如何对应到芯片的SRAM的?
2、malloc动态分配内存空间不是在堆中吗?但是这个内存池的大小(100KB)明显大于堆的大小了,
3、假如不是分配在堆中,那这个数组 mem1base[MEM1_MAX_SIZE] 是一个全局变量数组吗?如果是,那整个内存地址分配都是在这个数组里面进行并由内存管理表数组mem1mapbase[MEM1_ALLOC_TABLE_SIZE]进行记录、管理?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>