TouchGFX 4.25.0 - Visual Glitches with Fonts/Texts Stored in External NOR Flash
Hello everyone,
I'm experiencing an issue with TouchGFX 4.25.0 on a custom STM32H7-based board that we develop and sell as an OEM product, and I'm hoping someone can help me understand what might be causing it.
Problem Description
When fonts and texts are configured to be stored in the external NOR Flash memory, we observe undesirable visual glitches and artifacts, particularly affecting text rendering. However, when the same fonts and texts are kept in the internal Flash, everything renders correctly without any issues.
Current Workaround
To avoid the problem, I've modified the linker script to force FontFlashSection and TextFlashSection into internal Flash, while only ExtFlashSection (for images/assets) goes to external NOR Flash:
/* TOUCHGFX Begin *********************************/
FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH
TextFlashSection :
{
*(TextFlashSection TextFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH
ExtFlashSection :
{
*(ExtFlashSection ExtFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >NOR_FLASH
/* TOUCHGFX End ***********************************/When I change FontFlashSection and TextFlashSection to >NOR_FLASH, the visual glitches appear.
Why This Is a Problem
While this workaround is functional, fonts and texts can consume a significant amount of internal Flash memory, which becomes problematic in projects with limited internal Flash availability or when we need that space for application code.
Environment
- TouchGFX Version: 4.25.0
- MCU: STM32H753BIT6
- External SDRAM
- External Memory: NOR Flash (memory-mapped via QSPI/OSPI)
- Note: This same behavior has occurred in other projects as well, so it doesn't seem to be isolated to this specific board.
Questions
- Has anyone else experienced similar issues with fonts/texts stored in external flash?
- Are there any known timing, caching, or memory-mapped configuration considerations that could cause this behavior specifically for font data?
- Is there any additional debugging or diagnostic information I could gather to help identify the root cause?
I'd really appreciate any insights or suggestions. If there's any additional information I can share to help investigate this issue (memory configuration, screenshots of the glitches, HAL/clock settings, etc.), please let me know and I'll be happy to provide it.
Thank you in advance for your help!
