This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NDK UDP receive issue on DM642



Hi,

I recently upgraded from Code Composer 2.21 to Code Composer 3.3.  At the same time, I upgraded from DSP/BIOS 4.90.270 to DSP/BIOS 5.33.06 and from NDK 1.7.1 to NDK 2.0.0.  I also upgraded my code generation tools to 6.1.19.

Before the upgrade, I have several custom DM642 boards which worked great as far as Ethernet is concerned (my application sends and receives UDP packets).  After the upgrade, sending packets still works ok, but I can only receive a few UDP packets (the exact number depends on the size of the packets) before the socket I am receiving on starts timing out (I configure the socket with a SO_RCVTIMEO of 3 seconds), and my application does not get any more packets.  If the UDP packet size is 1500 bytes (payload), I consistently receive 8 packets before the stack starts timing out.  I tried using a smaller UDP packet size of 376 bytes and in that case I consistently receive 17 packets before the stack starts timing out.

Any assistance would be greatly appreciated.

Paul Randall

  • Hi Paul,

    Are you able to run the NDK client example, that ships with the NDK 2.0.0 product?  Can you try building and running that example?

    There's a windows application that goes with it - testudp.exe - that you can run to send UDP packets to your DM642 and back.

    You can find these in your NDK install:

    • ndk_2_0_0\packages\ti\ndk\example\network\client\evmdm642
    • ndk_2_0_0\packages\ti\ndk\winapps\testudp.exe

    So, if you build and run the client example, it will get an IP address via DHCP and print it out to stdout.  Once you see that IP address, you can run the testudp.exe app and pass the DM642's IP address as an argument.  You should then see the UDP echo output.

    Thanks,

    Steve

  • Hi Steve,

    I have not yet had a chance to run the NDK client example, but I did find something interesting.

    If I run my code using our XDS510USB emulator, I see the problem I described before, with the stack receiving 17 packets, then nothing.

    However, if I flash the code into our board and boot from the flashed code, the board receives UDP packets without a problem.

    Any idea why running from the emulator is causing a problem?

    Paul