Skip to main content
MAu
Visitor II
June 10, 2022
Question

TouchGFX hangs in _exit()-function in syscalls.c

  • June 10, 2022
  • 5 replies
  • 2803 views

Hello there!

I use a STM32F429 together with an ILI9341 based TFTLCD. I have configured TouchGFX with a partial framebuffer and it works without problems.

However, the program sometimes randomly hangs in the _exit() function in syscalls.c.

The cause is an assert in the getBlockForTransfer() function in the FrameBufferAllocator.c file. On the screen only float values are written to textareas.

0693W00000NrcKqQAJ.pngDoes anyone have an idea what could be the cause of the error?

Thanks for your help!

This topic has been closed for replies.

5 replies

Yoann KLEIN
ST Employee
June 21, 2022

Hello @MAu​ ,

Which version of TouchGFX are you using ?

Is it possible to share your project, so we could try to reproduce your issue ?

Thank you,

/Yoann

Yoann KLEINST Software Developer | TouchGFX
March 30, 2023

I have a same problem. I using last version of TouchGFX 4.21.3 .

I wokring with partial framebuffer and the program randomly hangs in the _exit() at function getBlockForTransfer()

ETone
Associate III
April 16, 2023

As do I. Same TouchGFX version, also partial frame buffer, ILI9341 based TFTLCD, SPI communications.

cb.7
Associate III
April 17, 2023

I too have the same problem, I solved it by commenting the line:

"assert(state[sendingBlock] == DRAWN);"

I know it's not the best solution

ETone
Associate III
April 17, 2023

For the moment I have solved the problem. I was using the handleTickEvent routine to update the TouchGFX screen using the Unicode::snprintf function. This forced the snprintf to execute every time the handle tick event ran. I switched to an approach where the screen was updated only when necessary. This seems to have solved the problem for now.