cancel
Showing results for 
Search instead for 
Did you mean: 

DMA2D cause screen blink with LTDC on my board with stm32H7B0

sheng yang
Senior

I port GuiLite on my board with stm32h7, when I develop with multi layer app, I found when I use DMA2A to transfer data on two layers. the screen get some blink like.

video_down_load_link:https://img.nickyam.com/file/BAACAgUAAyEGAASS2zT1AAIChGfS0ygzo2_DOJzfenk8GhO85HxiAAKSFwACqduRVpJFr-w2KqwkNgQ.mp4

the releate code as below

 

 

		HAL_LTDC_SetAddress_NoReload(&hltdc, (uint32_t)fb, LTDC_LAYER_1);
	    HAL_LTDC_Reload(&hltdc, LTDC_RELOAD_VERTICAL_BLANKING);
		g_ltdc_sem4sync.value = 1;
		while(g_ltdc_sem4sync.value);
		thread_sleep(1000);
		
		int ret;
		ret  = HAL_DMA2D_Start(&hdma2d, (uint32_t)fb + (current_active_rect.m_top * 800 + current_active_rect.m_left) * 4, (uint32_t)m_fb + (current_active_rect.m_top * 800 + current_active_rect.m_left) * 4, current_active_rect.width(), current_active_rect.height());

 

 

 I wonder how could this happen ?

0 REPLIES 0