New hardware working problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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;
- 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;
What can you say about it? Is this can be fixed with software or we need to review our hardware?
Thanks in advance :).
- Labels:
-
STM32F7 Series
-
TouchGFX
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 3:05 AM
It doesn't do that automatically, it depends on how you created the project. If from TouchGFX Designer then we have an idea of memory layout and have this configured linker script to place assets in external flash.
e.g. from a f746g-disco IAR project. Notice how we actively place ExtFlashSection in QSPI region. This ExtFlashSection is attached to every generated image, but you do not need to place it anywhere. Just remove the bottom line to place it in internal flash, or similar for your compiler.
define symbol __region_QSPI_start__ = 0x90000000;
define symbol __region_QSPI_end__ = 0x90FFFFFF;
define region QSPI_region = mem:[from __region_QSPI_start__ to __region_QSPI_end__];
define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__];
place in QSPI_region { section ExtFlashSection, section FontFlashSection, section TextFlashSection };
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 3:11 AM
And now we're trying to debug on your NEW hardware platform.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 3:30 AM
Yes, I do everything on my new hardware now.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 3:34 AM
I do that now and it's working fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 4:47 AM
Okay. Try going back to External Flash, and then configuring your TouchGFX HAL to use NoDMA instead of STM32DMA. Then we can see if it's ChromARTs fault.
/Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 4:56 AM
How can I do this configuration? Is there any article for this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 4:59 AM
I can guide you through it.
Do you have a BoardConfiguration.cpp file? Or TouchGFXConfiguration.cpp ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 5:01 AM
I have a BoardConfiguration.cpp file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 5:06 AM
Okay, replace the line
STM32DMA dma;
with:
NoDMA dma;
And also add the following
#include <touchgfx/hal/NoDMA.hpp>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-01-29 5:08 AM
What this does is essentially just render everything using the CPU (including doing all the blending) which is a hit on performance, but can be a nice tool to rule out issues with DMA transfers,
/Martin
