Skip to main content
Explorer II
April 1, 2024
Solved

STM32F746 QSPI XIP with TouchGFX and FreeRTOS

  • April 1, 2024
  • 3 replies
  • 1932 views

Hello All, 

I am very beginner in embedded technology. I would like to learn and implement XIP.

Currently I am working on a project which uses STM32F746 discovery board and uses TouchGFX and FreeRTOS. It uses qspi in memory mapped mode to store the font, graphics and text section required for touchGFX application. I am looking for documentation which explains the functionality and concept to achieve XIP using qspi along with FreeRTOS and touchGFX.

Any inputs are highly appreciated. Please forgive me if my post is not adhered to STM Community standards as this is my very first post.

 

Thankyou for your time and consideration.

 

Regards,
Pitbull

    This topic has been closed for replies.
    Best answer by mƎALLEm

    Hello, The information I have:

    • In X-CUBE-32F7PERF package related to the AN4667 "STM32F7 Series system architecture and performance", there are two projects:
      6_1-QuadSPI_rwRAM-DTCM: execution from QuadSPI memory in single memory mode.
      6_2-QuadSPI_rwRAM-DTCM: execution from QuadSPI memory in dual memory mode.
      Unfortunately the projects are provided with MDK-ARM, IAR and SystemWorkbench tools. No STM32CubeIDE. But you can inspire from.
      You need to refer to the system_stm32f7xx.c file on which QSPI is configured in XIP mode.
    • For more details about the usage of QSPI interface please refer to the AN4760 "Quad-SPI interface on STM32 microcontrollers and microprocessors" especially the section "3.3.3 Memory-mapped mode".
    • Regarding your case, normally, TouchGFX is already working in memory mapped mode if you are using an ST borad like STM32F746-DISCO board.

    3 replies

    Technical Moderator
    April 1, 2024

    Hello, 

    Not sure I understand the relation between qspi in xip mode and the storage of TouchGFX stuff on it. Do you need to execute code from qspi memory?

    PS: https://en.wikipedia.org/wiki/Execute_in_place

    pitbullAuthor
    Explorer II
    April 2, 2024

    Hello SofLit,

    Thankyou for your quick response.

    I will surely refer the link you provided.

    Yes I want to execute the code from qspi memory and I am currently only using qspi memory to store the touchGFX stuff. If possible can you please provide me document which is more specific with the STM32F7 series?

     

    Again thankyou for your support.

     

    Regards,

    Pitbull

    mƎALLEmAnswer
    Technical Moderator
    April 2, 2024

    Hello, The information I have:

    • In X-CUBE-32F7PERF package related to the AN4667 "STM32F7 Series system architecture and performance", there are two projects:
      6_1-QuadSPI_rwRAM-DTCM: execution from QuadSPI memory in single memory mode.
      6_2-QuadSPI_rwRAM-DTCM: execution from QuadSPI memory in dual memory mode.
      Unfortunately the projects are provided with MDK-ARM, IAR and SystemWorkbench tools. No STM32CubeIDE. But you can inspire from.
      You need to refer to the system_stm32f7xx.c file on which QSPI is configured in XIP mode.
    • For more details about the usage of QSPI interface please refer to the AN4760 "Quad-SPI interface on STM32 microcontrollers and microprocessors" especially the section "3.3.3 Memory-mapped mode".
    • Regarding your case, normally, TouchGFX is already working in memory mapped mode if you are using an ST borad like STM32F746-DISCO board.
    pitbullAuthor
    Explorer II
    April 2, 2024

    Hello SofLit,

     

    Thankyou once again for your support and guidance.
    I will go through the documentation provided and try to understand the XIP functionality and will try to implement it.
    Will keep you posted!!

     

    Thankyou

     

    Regards,
    Pitbull