cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Custom Application FLASH Overflow Issue & QSPI Memory Setup

naveen
Associate

 

 

Subject: TouchGFX Custom Application FLASH Overflow Issue & QSPI Memory Setup

Greetings Team,

I’m new to STM32 TouchGFX and trying to create a custom TouchGFX application following How to integrate TouchGFX in a custom board (The long way round) - YouTube

After setting everything up, I encountered the following error during the build:

`.text' will not fit in region `FLASH' region `FLASH' overflowed by 296512 bytes 

 

I understand that my MCU has only 128KB of Flash, which is insufficient for TouchGFX. I want to configure TouchGFX to use only SDRAM instead of Flash. How does TouchGFX utilize SDRAM, and how can I correctly set it up for this purpose?

Additionally, when comparing my custom application to the STM32H7 Dev Board example, I noticed different memory configurations in the Cortex-M7 section under System Core. Specifically, I don’t fully understand how QSPI Flash is mapped as two memory regions starting from 0x90000000.

I've attached a screenshot for reference. Kindly guide me on resolving the FLASH overflow issue and understanding the QSPI memory setup.

Thanks in advance!

Screenshot 2025-02-13 164135.png

2 REPLIES 2

Which MCU do you have? The STM32H750?

The 128KB of internal FLASH would likely need to act as a boot loader, bringing up clocks, pins, QSPI (0x90000000) and SDRAM (0xC0000000) and then moving your TouchGFX app into memory and executing it there, ie transfer control to image in SDRAM if that's what you want to do.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Part of bring up the QSPI interface is that you initialize the memory IC, and then provide a read command template to access it via the 0x90000000 address decode window, this is defined as this per Reference Manual.

The compiler and Linker use the Linker Script to describe the areas the build should be placing code and data items within the address space.

If the code is going to run in the SDRAM you should build for 0xC0000000. You might need to store or stage it elsewhere as the memory is volatile, so needs the image copied at startup.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..