Skip to main content
Sayali
Associate II
June 25, 2020
Solved

Hello, I am working on a project where I need 20 screens in an application. I am using STM32F469I-Disco board for this project. I tried dumping complete application onto the board but it is displaying only 3 screens.

  • June 25, 2020
  • 2 replies
  • 1069 views

So I am guessing it's the issue with the memory allocation. I followed the steps given for External addressable flash in TouchGFX documentation in STM32Cube IDE.

(I am not using my application to test Quad SPI Memory: I followed the exact steps given for memory mapped mode with the same example as given in the TouchGFX Documentation)

I have read application notes 4760 as well and tried that too still I am getting "???????" from memory address 0x90000000 onwards. What does that mean? Is it reading anything?

This application is going to display real time data on the display. which External memory should be compatible for this? External RAM or External flash?

Can you please guide me in the right direction?

Thank you in advance.

This topic has been closed for replies.
Best answer by Tesla DeLorean

If the external memory is not configured and mapped properly you'd typically get a Hard Fault, the debugger might show ???????

Up until the point it is configured the external memory will be unreadable.

You should look at WHERE this occurs, ideally in SystemInit() and long before arriving at main()

There should be BSP code for the STM32F469I-DISCO to set up the QSPI suitably, review that, and merge into your project if need be.

2 replies

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
June 25, 2020

If the external memory is not configured and mapped properly you'd typically get a Hard Fault, the debugger might show ???????

Up until the point it is configured the external memory will be unreadable.

You should look at WHERE this occurs, ideally in SystemInit() and long before arriving at main()

There should be BSP code for the STM32F469I-DISCO to set up the QSPI suitably, review that, and merge into your project if need be.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Sayali
SayaliAuthor
Associate II
June 29, 2020

Thank You for your help. This resolved my issue.

I was getting Hard Fault because of the default settings for the QSPI. BSP code had the correct configuration values for QSPI and I am able to see QSPI in Buid Analyzer.

Jagdish Bisawa
Visitor II
June 26, 2020

Hi @Sayali​ ,

It appears that your resources cannot be fit into the flash memory available on the board. It is rather strange that you are able to view 3 screens.

The on-chip flash memory is used to store your application & the off-chip quad SPI NAND flash is used to store resources like text, images, fonts etc. The on-chip SRAM or off-chip SDRAM is used to render the screen objects ( widgets ) that are created using your code & the off-chip flash resources.

However, be aware that only one screen is active(present) at a time. Every time a screen is changed it is rendered onto the SRAM/SDRAM.

Assuming that you have enough off-chip flash memory as per your screen resources, try looking into the map file that is generated. This is a long file that gives details of how the linker has placed the resources used by your application. The information from this file can help you to take further steps.

/Jagdish Bisawa