1、基于战舰STM32F103ZET6开发使用RT-Thread的emWin软件包设计
本人此次基于正点的战舰STM32F103ZET6开发板,使用外部SRAM给emWin分配内存空间,最开始分配的是60K的内存空间,外部SRAM的内存是1M字节。首先测试外部SRAM是可以使用的,然后下载程序后,直接死机。错误提示如下图所示:

其中,SRAM的初始化用的是INIT_ENV_EXPORT(SRAM_FSMC_Init);进行初始化的。在SRAM_FSMC_Init()最后用的是rt_memheap_init(&system_heap,
“sram”, (void *)Bank1_SRAM3_ADDR, SRAM_SIZE);进行内存管理,且
#define SRAM_SIZE ((uint32_t)0x40000) //256k
在GUIConf.c文件中,修改GUI_X_Config()函数如下所示:
void GUI_X_Config(void)
{
//
// 32 bit aligned memory area
//
U32 *aMemory = rt_malloc(GUI_NUMBYTES);
if(aMemory == RT_NULL)
{
rt_kprintf(“try to get memory failed!!!\n”);
}
else
{
rt_kprintf(“try to get memory successed!!!\n”);
// Assign memory to emWin
//
GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
//
// Set default font
//
GUI_SetDefaultFont(GUI_FONT_6X8);
}
}
原作者:ZBXY_7941
更多回帖