cancel
Showing results for 
Search instead for 
Did you mean: 

Fixing LTDC Glitch by setting bit READ_ISS_OVERRIDE in AXI_TARGx_FN_MOD_ISS_BM

Devdavid
Associate

Hi,

My problem is solved but I need an explanation on the solution I found.

Context

I am using a custom board equiped with a STM32H7, an external SDRAM connected by FMC and a LCD screen drived by LTDC :

2024-12-10_13-39.png

 

Issue

The UI is managed by TouchGFX using Double Buffering at 60 fps. Everything works fine for still screens. However, when an animation is displayed (Like a scrolling text, updated frequently), the display shows glitchs.

It seems the first 5% of rows are displayed correctly, then the rest is randomly shifted to the right.

Hypothesis

I suppose the glitch appears when the other framebuffer is updated in External SDRAM. The write operations from DMA2D bother the read operations from LTDC.

Solution

I started to look at the AXI Interconnect module to configure a Higher Read QoS (Quality of Service) for the LTDC master (Register AXI_INIx_READ_QOS). This didn't change anything.

I then set the bit READ_ISS_OVERRIDE in the register AXI_TARGx_FN_MOD_ISS_BM for the TARGET_5 (FMC peripheral) and it solved the situation. No more glitch.

Question

The reference manual is not really verbose about this bit and what it does. I would like to know more about it in order to understand the consequences for the other of the masters reading and writing through FMC.

1 REPLY 1
SofLit
ST Employee

Hello,

It could be something similar to this errata description:

SofLit_0-1734968539535.png

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.