cancel
Showing results for 
Search instead for 
Did you mean: 

Problem when I use external SRAM in touchgfx. Wrong pixels.

fernandogamax
Associate III

Hello.

I have made a custom project with STM32H735IGT. I use Touchgfx.

I am using external flash and external RAM. The problem is when I place the framebuffer in external RAM. Some green pixels appear as in image 1. When I place the framebuffer in internal RAM, the image is painted well.

I am using IS66WVH16M8DBLL-100B1LI RAM. I attached hardware configuration, the RAM is OCTOSPI2.

IMG_20230919_174816.jpg

 
video of the problem and .ioc:
 

Where is the problem?

 

 

35 REPLIES 35

Are the octospi lines resistor finished?

Yes

Are they the same length? 

Yes

Hi fernando, you do not set MPU, the MPU is very important for RAM settings.

This configuration is copied from the example project of the evaluation board (STM32H735G-DK). However, I have tried to change it, but it does not solve the problem.

hi Fernando, I see all documents, checked datasheets... nothing wrong, a little error is place termination resistors at the end of line, but ST make this abomination in his hardware, but this is only a detail, and not corresponding to your problem, I think many have no idea judging by the fact that everyone is watching and no one is responding. Good luck buddy, it would be nice to know what happened when you figure out the problem.

Thank you for your interest.

Right now, we are designing the 4-layer PCB to see if it's a hardware design issue, as you mentioned in previous messages. The new PCB will take a few weeks. I will keep you updated on any developments. If anyone else can think of anything else

I dont read all, but good with ext mems is start with memtest. Primary try check if fail for pixels is on write to mem or read. LTDC shows what is readed. calculate position of failed pixel in memory (place an yelow ahead for measure)

Sometimes PCB layers helps , but first is good test for example add some pF . And ofcourse OCTOSPI config need validate wih scope and change by pdf for used memory.

Richard Lowe
Senior III

Could be caching issue with external RAM. Yes, you should configure the MPU, but to test if that is the issue at all, disable caching for the whole system. Test. If the colors are still there, it isn't the MPU configuration.

I have already performed those tests, everything remains the same.

fernandogamax
Associate III

I have done more tests.

I have placed the screen all Blue. In debugging I have been looking at the external RAM, and I could see the following errors. And they repeat.

error1.png

error2.png

error3.png

error4.png

Any idea why that could be?

Try direct write to problem place. 

*(0x70000000) = 0x....
and better big rectangle write from c code , not from touchgfx render.

I think its jitter, this is serial , this can be only this, because 8 value  is 1000b and this is the first bit after 0xF (1111b). Check the clock line and try different serial resistors value. In first, put 0R and try. 

I can write without problem 0x70000000

 
I have tried with resistance of 0, and resistance of 33