2025-08-07 8:23 AM
I'm using STM32F429I-DISCO with external SDRAM and DMA2D to render graphics.
CPU run at 180 Mhz
Sdram 90mhz
Ltdc clock: 3mhz
Lcd : 240*320 color RGB565
Issue:
I use DMA2D to fill the screen, then on Transfer Complete interrupt, I trigger a second DMA2D to draw a sprite.
It works fine in debug mode, but in real-time, the sprite is not drawn.
If I switch to polling mode (HAL_DMA2D_PollForTransfer()), it works correctly.
The interrupt may fire before SDRAM is truly ready for the next transfer.
The question:
How to reliably chain DMA2D operations with SDRAM in interrupt mode to fully offload cpu?