FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [October 2012 Threads] Issue in sending eth packet in freeRTOS+UIPPosted by Sushant on October 22, 2012 Hii, I am using the LM3S6965 ethernet board..i am tring to create a simple client-server communication using freeRTOS+UIP(v7.1.1) stack and IAR as IDE..i have made some changes in the demo code and created a client with a static IP..i am using a server tool..when i try to connect to the server, i end up in hard-fault isr(although 1 in 10 times i am able to establish a TCP connection with the server)..the issue i am having is that the uip_buf is not getting loaded with the address of the packet data buffer to be sent..and this issue arises only after uip_periodic() routine..
for( i = 0; i < UIP_CONNS; i++ ) { uip_periodic( i );
/ If the above function invocation resulted in data that should be sent out on the network, the global variable uip_len is set to a value > 0. /
if( uip_len > 0 ) { uip_arp_out(); prvENET_Send(); } }
I am not getting that when uip_periodic() encounters data to be sent, when(or where in uip.c) does uip_buf point to the data???Since the hard fault is arising while tring to send the packet on the network as uip_buf contains 0 and fault is encountered in vSendBufferToMAC() routine in emac.c while assigning pus = ( unsigned portSHORT * ) uip_buf
Thanks in advance.
Sushant C
RE: Issue in sending eth packet in freeRTOS+UIPPosted by Richard on October 23, 2012 Sorry - I don't have a quick answer. In that situation I would step through the code until I found the line where the assignment was made, and then place a configASSERT() statement after the assignment to create a trap for the debugger. When the trap is hit you can then step through the code until you see why the problem occurs.
Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|