NELSCONELSCOHamidReza Mahboub Moghadam
← Back to projectsEmbedded Systems

TouchGFX on External QSPI Flash — STM32H7B0

Client
In-house embedded product
Year
2024
Category
Embedded Systems
TouchGFX on External QSPI Flash — STM32H7B0

NELSco solved an on-chip memory constraint by booting a full TouchGFX UI from external QSPI flash, work that draws deeply on ARM Cortex-M7 architecture, the STM32H7 boot process, and the QSPI peripheral.

A custom bootloader for hardware initialization, execute-in-place (XIP) memory mapping, and a clean jump to the application on external QSPI flash.

A custom STM32CubeProgrammer external loader to program the QSPI flash directly from the IDE, plus a full TouchGFX UI with button-driven interaction to validate performance.

The Challenge

The TouchGFX application had outgrown the STM32H7B0's internal flash. We had to make the MCU fetch and execute the whole application from external QSPI flash instead of internal memory, and the programming tool (STM32CubeProgrammer) did not support external memory out of the box.

Our Approach

A custom bootloader was written that initializes hardware, maps memory for execute-in-place (XIP), and cleanly jumps to the external application. A custom STM32CubeProgrammer external loader was then developed to enable QSPI-flash programming directly from the IDE, and a full TouchGFX UI with button-driven interaction was built to validate system performance.

The Result

This overcame the on-chip memory limit, enabled external-flash programming directly from within the IDE, and demonstrated smooth execution of a full TouchGFX UI from external memory, built on hands-on STM32H7 boot and QSPI work.

Results

  • Overcame the STM32H7B0's on-chip memory limit
  • External QSPI-flash programming directly from the IDE
  • Smooth execution of a full TouchGFX UI from external memory
STM32H7STM32H7B0TouchGFXQSPIXIPBootloaderARM Cortex-M7

Have a similar project?

Get in touch with NELSco's engineering team to discuss your project requirements.