cancel
Showing results for 
Search instead for 
Did you mean: 

New hardware working problem.

Yunus ARI
Senior

Hi everyone,

We working on a project with touchgfx software. We designed a new hardware for this project. Our custom hardware has this components;

  • STM32F746BET processor
  • IS42S16800F-7TLI SDRAM (128Mb , 143MHz)
  • MT25QL128ABA1EW9 QUAD SPI NOR FLASH (128Mb, 133MHz)

We able to access flash and ram. Code able to work in processor.

When I want to draw a box or something that can be drawable with code, screen working fine.

But when I want to draw an image from flash, screen go crazy.

You can see an example this situation;

0690X00000BwmLWQAZ.jpg

What can you say about it? Is this can be fixed with software or we need to review our hardware?

Thanks in advance :).

26 REPLIES 26
Martin KJELDSEN
Chief III

Have you made sure to program the external flash? Could be reading garbage.

Yunus ARI
Senior

I have been working on it several days. I tested sram for make sure all bits working. I checked that the flash is programing correctly. I think problem it's coming out when system get data from flash to sram. I focus on DMA2D interface right now.

I add some picture of debug code. You can see memory section of flash that include a test image (Memory 2) and memory section of sram that include frame buffer (Memory 1) . And you can see _test array for this image in "Live Watch" window.

0690X00000BwmuWQAR.jpg

If you look image can see some irrelevant values in ram memory. You consider this is a sram problem but I need to say that, I tried fill sram with direct access and this worked fine. Because of that I thinking it's a DMA2D problem. But I can't prove it 🙂

Martin KJELDSEN
Chief III

Have you compared the data in external flash with what is being generated by TouchGFX based on your image? (generated/images) folder - Just to be sure that the data is written correctly to flash by your flash loader.

/Martin

Martin KJELDSEN
Chief III

Also, can you try storing a small image in internal flash instead and reading from there?

Yes I did that. It's look correct.

Martin KJELDSEN
Chief III

How did you create the project? Seems like some syncronization may be off. Can you try adding the following line when configuring your TouchGFX HAL?

hal.lockDMAToFrontPorch(true); 

How can I to do that. As far as I know, TouchGFX is loading image to external flash automatically.

I working on this project for a long time. I was running this code in STM32F7-Discovery board before this new hardware.

hal.lockDMAToFrontPorch(true);

This option was selected "false" in my project. I did "true" now as you say but nothing changed.