目前正在使用emwin,在他的存储器大小设置中,我想将存储设备的空间设置大一点,设置到外部SDRAM中。在几次尝试过后,通过申请内存发现,一直错误。而使用定义在SRAM的数组形式,去可以正常申请。不知道有遇到这种问题的高人吗?
设置到SDRAM中的代码:
#define GUI_NUMBYTES 0xa00000 // 视频缓冲预留10MB
#define GUI_BLOCKSIZE 0x40 //块大小
#define aMemory 0xa0600000//视频缓冲的起始地址
下面是设置代码
GUI_ALLOC_AssignMemory((void *)aMemory, GUI_NUMBYTES);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
下面是测试代码
GUI_Init();
hMem = GUI_MEMDEV_Create(1,1,2,2); 此处一直返回0;代表申请失败。
设置到SRAM内部的代码:
#define GUI_NUMBYTES 45000 // 视频缓冲预留45k
#define GUI_BLOCKSIZE 0x40 //块大小
unsigned int aMemory[GUI_NUMBYTES/4];//视频缓冲的起始地址
下面是设置代码
GUI_ALLOC_AssignMemory((void *)aMemory, GUI_NUMBYTES);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
下面是测试代码
GUI_Init();
hMem = GUI_MEMDEV_Create(1,1,2,2); 此处一直返回0x00000004;代表申请成功。
|