Hi,
I cannot figure out how to debug a low-level driver problem somewhere in the bowels of the NDK/Ethernet code.
I am using:
CCS v5.3
TIRTOS 1.01.00.25
XDCTOOLS 3_24_06_63
NDK 2_22_01_14
BIOS 6_34_04_22
StellarisWare 9453e
DK-LM3M9B96 dev kit (DK)
LM3S9B96 custom board (CB)
I use the dev kit to experiment and test new software from TI or 3rd parties. When it works on the DK, then I transfer it to a custom board which is designed to use the GPIO for a 16-bit EPI interface (to a dual port RAM).
I have used this configuration with CodeSourcery G++ to test the old StellarisWare libraries using safeRTOS and lwIP and Quantum Leaps QK package with lwIP. Although I have had reliability issues with both of these configurations, they do work.
Now, I want to explore TIRTOS and NDK to see if they are more reliable for my applications. I have successfully implemented the gpio interrupt example and a few other simple gpio examples to prove that the compiler/linker paths work properly.
When I tried the tcpEcho example, I ran into problems. The example works as promised on the dev kit. However, when I ported the example to the custom board (CB), the TCP connection was not accepted. No problem, I would just add a few breakpoints and trace through the initialization. Wrong! I cannot add breakpoints to the NDK stack. Even if I could, I cannot trace how the Ethernet driver gets initialized. With a little hacking at the code I was able to guess that the Rx packet interrupt was not getting processed properly. I confirmed this with WireShark because I could see the connection request and no response. OBTW - ping work fine on both boards!
I compared the Ethernet.c file in Stellarisare 9453e with the one I used before and they are identical.
I tried to trace the initialization, but since the XDC stuff and StellarisWare are in library files, I cannot insert breakpoints. I need some suggestions about how to debug this mess. Any ideas?
Thank you.
Bill