Hi,
Only correcting the lvgl buffer size ( wrong value “buffer_size/2” = 15360 uint16_t = 30720 bytes ).
Now lvgl buffers, buffer_a and buffer_b, are 3840 uint16_t ( or 7680 bytes ).
( 3840 = 30720 / 8 ) and not ( 15360 = 30720 / 2 ).
#define pixels_size 3840
#define pixels_size_in_bytes ( pixels_size * sizeof(lv_color_t) ) // 7680 bytes
***********************************************************************************
// lvgl graphic buffers.
DMA_ATTR lv_color_t buffer_a[ pixels_size ]; // 3840 pixels = 7680 bytes.
DMA_ATTR lv_color_t buffer_b[ pixels_size ]; // 3840 pixels = 7680 bytes.
***********************************************************************************
// dma buffers.
static DMA_ATTR uint32_t buf_a[ pixels_size_in_bytes ]; // pixels_size_in_bytes = 7680 bytes. uint32_t buf_a -> 30720 bytes ( 7680 * 4 ).
static DMA_ATTR uint32_t buf_b[ pixels_size_in_bytes ];
***********************************************************************************
// #define descriptor_size ( ( pixels_size_in_bytes * 4 ) / 4092 ) + 1
// static DMA_ATTR lldesc_t dma_desc_buf_a[ descriptor_size ];
static DMA_ATTR lldesc_t dma_desc_buf_a[ 8 ];
static DMA_ATTR lldesc_t dma_desc_buf_b[ 8 ];
Thank’s.