system
(system)
September 1, 2006, 8:30am
1
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
system
(system)
September 1, 2006, 8:44am
2
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
system
(system)
September 1, 2006, 9:17am
3
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.
system
(system)
September 1, 2006, 9:27am
4
nobody wrote on Friday, September 01, 2006 :
it crashes inside pvPortMalloc. I have tried to increase heap size - without effect.
system
(system)
September 1, 2006, 9:28am
5
nobody wrote on Friday, September 01, 2006 :
After crash Data Abort interrupt is generated.
system
(system)
September 3, 2006, 10:07pm
6
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ā¦