2023-09-24 09:29 AM
I am using Touchgfx version 4.19.1 with an STM32CubeIDE version of 1.12.1 (have also tried 1.13.2). The basis is a template from EDT (EVK070006B) which runs on an STM32F746.
I have noticed that after maybe a couple of hours the GUI freezes and is hence unresponsive. For the release build I am using the watchdog which is kicked within the tick() function in the Model. For debug (no watchdog) I can see that all the FreeRTOS tasks are running fine except for the defaultTask which is why the tick doesn't happen. There is only limited source code for the Touchgfx drivers, so I can't say much why it locks up but it looks like it is waiting (indefinitely) on a semaphore for the frame buffer and hence not in any part of my code. Someone else looks like they had a similar problem: crash-in-touchgfx-draw-function-waiting-on-framebuffer-semaphore but this doesn't look like it was resolved properly? I have tried increasing the priority of the defaultTask and also given it oodles of stack to play with.
Here's a screenshot from the debugger when I pause during the lockup...
2023-09-26 02:46 AM
Here is another stack trace where it is apparently stuck in TextAreaWithWildcardBase:
There is no source for this so can't debug it with help from ST. I have tried a workaround to use a timeout in the call to xSemaphoreTake but it doesn't make any difference because the touchGFX library code is locking up presumably in the above function.