Skip to main content
Yunus ARI
Senior
January 29, 2020
Question

New hardware working problem.

  • January 29, 2020
  • 6 replies
  • 5157 views

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 :).

This topic has been closed for replies.

6 replies

Martin KJELDSEN
Principal III
January 29, 2020

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

Yunus ARI
Yunus ARIAuthor
Senior
January 29, 2020

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
Principal III
January 29, 2020

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

Yunus ARI
Yunus ARIAuthor
Senior
January 29, 2020

Yes I did that. It's look correct.

Martin KJELDSEN
Principal III
January 29, 2020

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

Yunus ARI
Yunus ARIAuthor
Senior
January 29, 2020

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

Martin KJELDSEN
Principal III
January 29, 2020

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); 

Yunus ARI
Yunus ARIAuthor
Senior
January 29, 2020

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

HP_it
Senior II
January 29, 2020

really looks like the External flash is not being loaded properly.

how do you load the external flash? Using Cube-Programmer or something else?

Cube-Programmer can both read and write to your flash using the external loader (<-- this is most likely the culprit)

I spend quite some time on that loader and there's very little info to go on. can you make absolutely sure that your loader is working?

I ended up with using the exact same QSPI chip as on the dev-board and lucky for me I was able to obtain an external loader with my pin-configuration (something to look out for as well!)

Yunus ARI
Yunus ARIAuthor
Senior
January 30, 2020

I loaded flash with using IAR 8.20 ide. I can see inside the memory when debugging. I compared flash and sram when program running. I added a picture of this debug in previous posts. I quite sure flash is loaded properly.

Martin KJELDSEN
Principal III
January 30, 2020

But does the IAR project have a specific external flashloader configured? But you did say that you'd verified the contents of the external flash with the pixel data of the generated image.

/Martin