cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Sayali
Associate II

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.

1 ACCEPTED SOLUTION

Accepted Solutions

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 Venmo
Up vote any posts that you find helpful, it shows what's working..

View solution in original post

3 REPLIES 3

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 Venmo
Up vote any posts that you find helpful, it shows what's working..
Jagdish Bisawa
Associate III

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

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.