I use ATMEL UC3 software framework + ppp on UC3A0512 device with
external SDRAM as heap.
Whenever it crashes, i.e no other task seem to be running, I have an LED
task that flashes the LEDS which stops.
If I stop the AVR32Studio debugger, I see that it always stops at
QueueReceive, and tracing back, sys_arch_mbox_fetch last called, and it
fails in the function: in the line pointed out below
The other way I can simulate this promlem is that I establish a
connection, then I remove the antenna, hence no physical connection to
the server, and I trigger a new connection using external trigger which
will try and do a netconn_connect.
netconn_connect then blocks for about 20 seconds or so, and returns with
ERR_ARBT(-3), I then retry another netconn_connect and same timeout and
same error, now when I connect the antenna back again and establish my
physical layer connection and then I try to establish a TCP connection
using netconn_connect again, it fails in the same way as descibed above.
static void prvCopyDataFromQueue( xQUEUE * const pxQueue, const void
*pvBuffer )
{
if( pxQueue->uxQueueType != queueQUEUE_IS_MUTEX )
{
pxQueue->pcReadFrom += pxQueue->uxItemSize;
if( pxQueue->pcReadFrom >= pxQueue->pcTail )
{
pxQueue->pcReadFrom = pxQueue->pcHead; // ***** FAILS HERE ****
}
memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->pcReadFrom, ( unsigned
) pxQueue->uxItemSize );
}
}