cancel
Showing results for 
Search instead for 
Did you mean: 

Crash after placing TouchGFX fonts in memory mapped QSPI flash.

Guit32010
Associate III

I have a project where I want to place the TGFX resources (images, translations, fonts) in a memory mapped QSPI flash. In this instance I have placed them in this flash via the linker (.o files) rather than using binary fonts etc.

The crash occurs generally when switching screens. I can usually switch screens successfully a number of times. Sometimes it fails after 30 screen switches, sometimes 5. I've also seen it fail when updating smaller elements. The crash also prevents the debugger (IAR / I-Jet) from stopping, so I've had no luck there. Debug log: "CPU did not stop"

I find the problem goes away if I put the TGFX fonts back in internal flash. It also goes away if I switch back to full frame buffers rather than using partial frame buffers. ( I have restrictions on ram usage, so partial frame buffers are needed)

I've given the TGFX FreeRTOS task lots of stack but that doesn't fix the problem.

I put a scope trace around the TouchGFXHAL::flushFrameBuffer(const Rect& rect) routine. It enters and exits correctly according to the trace. So it appears it's dying inside the TGFX library somewhere.

Any other ideas?

1 ACCEPTED SOLUTION

Accepted Solutions
Guit32010
Associate III

Update: I disabled the QSPI timeout counter as mentioned in the device errata and the problem appears to have gone away.

0693W00000NqeIQQAZ.jpg

View solution in original post

5 REPLIES 5
Osman SOYKURT
ST Employee

Hello Guit32010,

Can you give more information about your configuration please ?

  • Which TouchGFX board setup are you using ?
  • Which storage format do you have checked on "Text Configuration" inside TouchGFX Designer ?
  • Can you share with us your TouchGFXConfiguration.cpp file ?

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX
Guit32010
Associate III

TouchGFX 4.18.1

LCD16bpp

STM32DMA

NoTouchController

Guit32010
Associate III

Mapped storage format

posted a file.

Guit32010
Associate III

Update: I disabled the QSPI timeout counter as mentioned in the device errata and the problem appears to have gone away.

0693W00000NqeIQQAZ.jpg

Osman SOYKURT
ST Employee

Hello Guit32010,

Good to hear that you resolved your problem 🙂

I invite you to select your answer as best answer and close the post so it would help people with the same issue to find the resolution.

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX