2023-09-24 11:27 PM
I'm getting the following artifacts in the display and as of today, haven't tracked down the cause. I've adjusted DSI clock timings, LTDC clock timings, and SRAM timings. Caching is configured as off for the SRAM via MPU. Any ideas?
2023-09-25 01:28 AM
Hello @Richard Lowe ,
Which board and which compiler do you use? Is your board running with an OS? Do you have a graphic accelerator in your project?
2023-09-25 02:40 AM
Lacking a lot of specific detail to the parts used.
I would start by inspecting the frame buffer, from the static images this doesn't look to be a display timing issue.
2023-09-25 08:47 AM
STM32H747i-Eval board.
STM32CubeIDE -> gcc.
FreeRTOS
DMA2D -> Not really a true accelerator, but never really had issues with it.
2023-09-28 12:55 AM
Hello @Richard Lowe,
Did you try to put your assets in another region of your memory? Have you inspected the framebuffer as @Tesla DeLorean suggested?
2023-09-29 10:34 AM
Debugging the SDRAM on the FMC bus shows that it is functional. Writting and reading to it passes.
Moving the framebuffer to another memory address had no effect. I did, however, have to move the framebuffer on the same SDRAM, the MCU doesn't have enough RAM for the framebuffer to be located on the die.
Same fragmentation artifacts appearing.
2023-10-03 07:28 AM
Hello @Richard Lowe ,
Ok I see, and what about if you change the framebuffer strategy? (single framebuffer instead of double)
And if you change bpp format?
Also, did you measure render time?
2023-10-03 08:46 AM
Render time is looking like 40ms. That seems slow to me.
2023-10-06 03:36 AM
I have the same issue but it is not permanent, it comes once in a while... In my case I have verified that when this happen it's the frame buffer that is corrupt.
My setup: custom board, STM32H743, external QUADSPI flash (memory mapped mode), single framebuffer internal RAM_D1, LTDC, DMA2D RGB888 Memory to Memory transfer mode.
/Svenn
2023-10-09 12:29 AM
I managed to solve my issue.
I had my QUADSPI clock prescaler at 1 (25MHz QSPI CLK).
Changing this to 0 (50MHz QSPI CLK) or 2 (16.6MHz QSPI CLK) then my QUDSPI data reads got flawless.
From the STM32H743 reference manual: