Potential gotcha in RX600_RX62N-RSK_Renesas

sjackerman wrote on Thursday, January 17, 2013:

If you enable UDP support, and then add a UDP app that generates a packet via a call uip_udp_periodic() such as dhcp or ntp there is a potential problem - uip_buf is initialized to NULL at the end of vInitEmac(). When the packet is generated uip_buf is not pointing to an ethernet buffer so whatever is in your memory starting at address 0 will be trashed. In my application this turned out to be the ethernet descriptor tables. My fix was to set uip_buf to a valid ethernet buffer instead of NULL by a call to prvGetNextBuffer().

I hope that this saves somebody some time tracking this down.

Steven J. Ackerman, Consultant
ACS, Sarasota, Florida
http://www.acscontrol.com

rtel wrote on Thursday, January 17, 2013:

Thanks for pointing this out.

I think that example acts as a server, so uip_buf is assigned when a packet comes in, rather than when a transmission is initiated by the stack.

If you are only using UDP then you might consider the new FreeRTOS UDP/IP stack, if it meets your needs:
http://www.FreeRTOS.org/udp

Regards.