cancel
Showing results for 
Search instead for 
Did you mean: 

GUI task stops running after a random amount of time.

GArgu.1
Associate

I have an additional FreeRTOS task running. All the task does at the moment is call xQueueReceive. Adding this call affects the GUI task such that it stops running after some time (not immediately). Nowhere in the code is sending messages to the queue. The exact line of code is like this:

if (xQueueReceive(queue, &msg, 1) == pdTRUE) {}

I'm using TouchGFX 4.9.3 and FreeRTOS 8.2.0

I can provide more information if needed.

I appreciate any help. Thank you

2 REPLIES 2
Martin KJELDSEN
Chief III

So you mean that the GUITask is just blocked? Or the application is at a hard fault? How are you debugging this?

/Martin

GArgu.1
Associate

Thank you for your help.

I have resolved this issue. The problem was that the value for configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY in FreeRTOSConfig.h was set to 1. I increased it to 5 and made sure any interrupt that calls FreeRTOS API has a priority value higher than 5. I'm not exactly sure why the value of 1 didn't work. I know it could not be 0.

FYI, I debug using a Jlink debugger and the Ozone debugger app from Segger. The application was not reaching hard fault. It was actually stopping at a configAssert call.