2023-01-10 08:02 AM
Hello there,
I have a problem with a stuck TouchGFX task. When the fault occurs, the TouchGFX task uses almost 100% CPU time and completly prevents lower priority tasks from executing. It seems to be stuck at a DMA transfer, altering between LockFreeDMA_Queue::isFull() and DMA_Interface::addToQueue()
How to cause the fault
I'm using a FreeRTOS queue which is emptied in the model tick function. The queue content decides whether an (cached) image should be displayed or not. To simulate a high TouchGFX task usage (~50%), about 50 different images (60x60 pixel), some text and some widgets will be changed every 25 ms. Within two hours the TouchGFX task will get stuck.
Do you have an idea how to solve this, an workaround or any other help? I appreciate any answer - if you need further informations please ask.
Additionaly system information:
TouchGFX 4.20
CubeIDE 1.10.1
STM32H725IGT
Debug trace is alternating between these two functions when the TouchGFX task is executed
2023-01-12 04:35 AM
For some reason, the DMA interrupt is not firing anymore. As a result the DMA_Inferface fails trying to initiate a new transfer and locks the TouchGFX task.
Now i need to figure out why the DMA interrupt will not trigger anymore.
2023-09-05 12:07 AM
Hello, see here:
or the latest answer in this thread:
UI stuck in takeFrameBufferSemaphore - Page 7 - STMicroelectronics Community