请教下,使用STemWin ,数据缓冲区使用外部的2MByte 的 sdram ,现在想吧外部的最后100KByte 分配给 emwin使用,程序功能是实现了,
#define EXT_SRAM_ADDR 0x68000000
static U32 *aMemory = (U32 *)(EXT_SRAM_ADDR + (((2*1024*1024) - (100*1024) ) / 4) ) ; // 把外部2MByte的最后100KByte 字节分配给 STemWin 使用
GUI_ALLOC_AssignMemory((U32 *)aMemory, (100*1024)/4);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
这样更改后是可以,但是我不明白的是 怎么要除以 4啊,还有 除以4后,那地址就变少了啊???
按照字节计算的花,外部2m的地址为 0x200000那么加上 基地址就是 0x6800 0000 + 0x0020 0000 = 0x68200 0000
如果 /4 后,就得 aMemory = 0x68079C00 这个地址范围岂不是少了很多了 ???
转载
|