2020-01-29 12:39 AM
Hi everyone,
We working on a project with touchgfx software. We designed a new hardware for this project. Our custom hardware has this components;
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;
What can you say about it? Is this can be fixed with software or we need to review our hardware?
Thanks in advance :).
2020-01-29 01:42 AM
Have you made sure to program the external flash? Could be reading garbage.
2020-01-29 02:26 AM
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.
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 :)
2020-01-29 02:49 AM
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
2020-01-29 02:50 AM
Also, can you try storing a small image in internal flash instead and reading from there?
2020-01-29 02:51 AM
Yes I did that. It's look correct.
2020-01-29 02:54 AM
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);
2020-01-29 02:55 AM
How can I to do that. As far as I know, TouchGFX is loading image to external flash automatically.
2020-01-29 03:00 AM
I working on this project for a long time. I was running this code in STM32F7-Discovery board before this new hardware.
2020-01-29 03:02 AM
hal.lockDMAToFrontPorch(true);
This option was selected "false" in my project. I did "true" now as you say but nothing changed.