F407有64K的CCMRAM闲着怪浪费,用一下
使用STM32CUBE IDE配置。只需要在定义的变量后面加
__attribute__((section(".ccmram") ))
即可。不用修改FLASH.LD文件。
举例使用LVGL定义一个大数组并使用:
#define MY_DISP_HOR_RES (320)
/* Example for 1) */
static lv_disp_draw_buf_t draw_buf_dsc_1;
static lv_color_t buf_1[MY_DISP_HOR_RES * 60] __attribute__((section(".ccmram") )); /*A buffer for 10 rows*/
lv_disp_draw_buf_init(&draw_buf_dsc_1, buf_1, NULL, MY_DISP_HOR_RES * 60); /*Initialize the display buffer*/
编译以后就是这样
计算一下:320x60x2/1024=37.5 K跟使用的一样( lv_color_t是U16格式,2个字节)。
用大数组刷新LVGL就是快,香!