//内存池(4字节对齐)
__align(4) u8 mem1base[MEM1_MAX_SIZE]; //内部SRAM内存池
__align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池
//内存管理表
u16 mem1mapbase[MEM1_ALLOC_TABLE_SIZE]; //内部SRAM内存池MAP
u16 mem2mapbase[MEM2_ALLOC_TABLE_SIZE] __attribute__((at(0X68000000+MEM2_MAX_SIZE))); //外部SRAM内存池MAP
//内存管理参数
const u32 memtblsize[2]={MEM1_ALLOC_TABLE_SIZE,MEM2_ALLOC_TABLE_SIZE}; //内存表大小
const u32 memblksize[2]={MEM1_BLOCK_SIZE,MEM2_BLOCK_SIZE}; //内存分块大小
const u32 memsize[2]={MEM1_MAX_SIZE,MEM2_MAX_SIZE}; //内存总大小
内存分配是从顶-》底。
内部SRAM是不是自动会从顶到底?因为内存管理表没有给出最顶层地址
外部SRAM mem2mapbase[MEM2_ALLOC_TABLE_SIZE] 的顶地址为什么是__attribute__((at(0X68000000+MEM2_MAX_SIZE)));
外部SRAM总共是19根地址线 就是512K个地址每个地址16位2个字节 一共才1M. 那直接加MEM2_MAX_SIZE这个地址对吗?是否应该是 0x68000000+MEM2_MAX_SIZE/2
|