FreeRTOS + lwIP

nobody wrote on Friday, September 01, 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

nobody wrote on Friday, September 01, 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

nobody wrote on Friday, September 01, 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.

nobody wrote on Friday, September 01, 2006:

it crashes inside pvPortMalloc. I have tried to increase heap size - without effect.

nobody wrote on Friday, September 01, 2006:

After crash Data Abort interrupt is generated.

nobody wrote on Sunday, September 03, 2006:

solution: -O1 or -O2 compiler option

Janusz

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