1,lv_port_disp_template.c中注释掉 // static lv_color_t buf_1[MY_DISP_HOR_RES * 30]; 这个屏幕缓冲数组
2,定义全局变量
//tips:内存池偏移=屏幕缓冲区+ltcd帧缓冲数组+外部内存池(u8)+内存表()
static lv_color_t buf_1[MY_DISP_HOR_RES * MY_DISP_VER_RES] __attribute__((at(0x68000000+1280*800*2+10*1024+160*4)));
static lv_color_t buf_2[MY_DISP_HOR_RES * MY_DISP_VER_RES] __attribute__((at(0x68000000+1280*800*2+MY_DISP_HOR_RES * MY_DISP_VER_RES*2+10*1024+160*4)));
0x68000000是外部sram的起始地址,1280*800是ltdc.c中定义帧缓存数组的大小,10K是malloc.h中最大管理内存10K,160是内存表大小,还有一个屏幕分辨率*2字节的宏定义
3,在lv_conf.h中找到#define LV_MEM_CUSTOM 并且置1,在malloc.c中重写lvgl的内存