I have a proprietary board with a TM4C1294KCPDT processor. I am using ndk_2_24_03_35 with tirtos_tivac_2_14_00_10. I am using XCONF to set up a Telnet server in the TIVA chip. The ethernet connection is 10BASET, DHCP. It is communicating to a proprietary PC Windows application that works correctly with an earlier Stellaris implementation that used lwip.
The board seems to boot, acquire its IP address, and establish a Telnet connection to the application. Everything works fine until the following (as seen from wireshark):
1. PC sends a command via a Telnet packet.
2. TIVA returns a TCP ACK packet.
3. TIVA returns a response to the command via a Telnet packet.
4. The PC does not ACK the response immediately. Aprox 102 milliseconds after the original response packet was sent, the TIVA returns the same response via a TCP retransmission packet.
5. The PC sends a TCP ACK packet.
6. The TIVA exits the NetScheduler function in netctrl.c (line 207). {Don't think it should do this}
7. From then on things fall apart. If I remove the breakpoint I placed immediately after line 207 in netctrl.c, the TIVA almost always sends a TCP ACK+FIN packet.
8. The PC sends a TCP ACK packet.
9. The TIVA eventually gets to the ti_ndk_config_Global_NetworkIPAddr function in app_pem4f.c (line 3724) and executes the xdc_runtime_System_printf("Network Removed: "); path.
10. Ultimately the entire TCP/IP stack stops executing and will not even respond to a ping.
The console usually displays that a TCP retransmission occurred immediately before the Network Removed... stuff.
Suggestions on how to diagnose what is happening?
Tom