PIC32 -> xQueueReceive hangs second time
Posted by https://www.google.com/accounts on August 15, 2011
I'm using version 7.0.1, I start 9 task with success, I can trigger them with a network package and queues. Now when I start a long running task, when I exit the FSM and come in the main for(;;) with the
xStatus = xQueueReceive(xQueueTransport, &action, portMAX_DELAY);
if ( xStatus == pdPASS)
It hangs in the vListInsert.
for 1. I checked the stack overflow and the code never comes to the hooks.
for 2. I have
#define configMAX_PRIORITIES( ( unsigned portBASE_TYPE ) 6 )
for 3. with the other task I have no problems (don't run for >15sec)
for 4. The first time the task is started, but when it returns it hangs. I have put a stacksize of 4096 for this task and a total_heap_size 56000.
I'm out of ideas to fix this, what can I check to solve this issue?
Previous when I hit this part of freetos, I needed to increase the heap or minimal_stack_size. But nothing seems to fix this issue. I tried to max out these two values without success
RE: PIC32 -> xQueueReceive hangs second time
Posted by Richard
on August 18, 2011
Without being sat at your desk and able to debug this I'm not sure what advice I can offer. However, I'm curious about your statement "for 4. The first time the task is started, but when it returns it hangs" - are you attempting to return from a task? That would definitely cause a crash, there is nothing to return to. If you want to end a task call vTaskDelete( NULL );
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.