FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 1, 2006
Hi, I have still the same target but I cannot find a solution for OS crashing. I open socket on TCP port 80 (I have server from lwIP_Rowley_demo) and then OS crashes.
I did analize the track to halt:
(tcp_in.c) tcp_process -> (tcp.h) TCP_EVENT_ACCEPT -> (tcp.c) -> (api_msg.c) accept_function -> (sys_arch.c) newconn->recvmbox = sys_mbox_new(); -> (queue.c) xQueueCreate -> crash

Have you idea? Please for help!
Janusz

RE: FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 1, 2006
I trace in xQueueCreate:
crash is during:
pxNewQueue = ( xQUEUE * ) pvPortMalloc( sizeof( xQUEUE ) );

I am using heap_2.c, FreeRTOS 4.1.0, lwIP 1.1.1, GCC ARM7 AT91SAM7S256

Janusz

RE: FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 1, 2006
Is the crash actually inside here, or is it just returning NULL?

If it is inside then check your byte alignment constant.

If it is returning NULL then you need to increase the heap size.

RE: FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 1, 2006
it crashes inside pvPortMalloc. I have tried to increase heap size - without effect.

RE: FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 1, 2006
After crash Data Abort interrupt is generated.

RE: FreeRTOS + lwIP

Posted by Nobody/Anonymous on September 3, 2006
solution: -O1 or -O2 compiler option

Janusz

P.S. I do not believe in power of GCC for ARMs like before...