|
From: | Sirjee Rooplall |
Subject: | Re: [lwip-users] lwip 1.2.0 + freeRTOS |
Date: | Tue, 26 Jan 2010 08:17:14 +0200 |
It fails in this function which is called by QueueReceive which is called by sys_arch_mbox_fetch.
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; // **** ALWAYS FAILS HERE **** }memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->pcReadFrom, ( unsigned ) pxQueue->uxItemSize );
} }Kind Regards, Sirjee Rooplall Figment Design laboratories (Pty) Ltd mailto: address@hidden Mobile: +27 (0)83 230 8466 ----- Original Message ----- From: "FreeRTOS Info" <address@hidden>
To: "Mailing list for lwIP users" <address@hidden> Sent: Monday, January 25, 2010 4:48 PM Subject: Re: [lwip-users] lwip 1.2.0 + freeRTOS Sirjee Rooplall wrote:
If I look in my debugger, sorry I am using freeRTOS + ATMEL's UC3 device, it crashes at FreeRTOS QueueReceive function which when I dig deeper is pending on sys_arch_mbox_fetch.
Can you say where in that function? Do you have stack checking switched on? (configCHECK_FOR_STACK_OVERFLOW set to 2 in FreeRTOSConfig.h). Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by TÜV as meeting the requirements for safety related systems.
Is there any application not that would teach me more about proper usage of the LWIP API's, and hopefully it will deal with fail states as well. Thanks in advance. Kind Regards, Sirjee Rooplall Figment Design laboratories (Pty) Ltd mailto: address@hidden Mobile: +27 (0)83 230 8466 ----- Original Message ----- From: "Simon Goldschmidt" <address@hidden> To: "Mailing list for lwIP users" <address@hidden> Sent: Monday, January 25, 2010 3:53 PM Subject: Re: [lwip-users] lwip 1.2.0 + freeRTOSSirjee Rooplall wrote:Hi Simon, I am new to LWIP, so I copied that code from an example I have seen.Well, then be so kind and tell the author of that example that it is really a very bad one!I removed the sleep and I have removed the access to the internal pcb, and only rely on the API now. The problem I am explaining, seems to also exist in LWIP 1.3.0, as I have seen in some of the recent lwip archives.Could you tell us where? Also, the current release is 1.3.2!Another thing: Because I am connecting through a PPP->GPRS interface the possibility exists where someone removes the antenna and the connection longer exists, however the user can trigger a server connection externally through a push button, which will attempt to perform a neconn_connect which blocks and returns with ERR_ABRT(-3), how do I handle this senario without crashing the stack. At the moment, I keep trying every 30 seconds, and eventually I cause the stack to crash with too many netconn_connect without a physical connection available.Normally, that shouldn't be a problem. What exactly happens when you say the stack 'crashes'? Oh, and please don't send so much code unless you have a very specific question about it or someone asks you to. People tend to overread mails containing too much code as it's rather difficult to understand... Simon -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users_______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
[Prev in Thread] | Current Thread | [Next in Thread] |