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 with C6670 simulator

Hi

 

I am using CCSv5 C6670 simulator setup to run UDP socket transmit/rceive code.

Following the link "http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Building_and_running_NDK_client_example_with_simulator" I was able to setup a ping communication between my desktop and the DSP IP address.

But I want to ping the simulator running the NDK stack from outside network. I configured the DSP with desktop subnet and gave a valid static ip address.The desktop can still ping it but from outside its not pingable.

Also I tried running the simulator on my desktop NIC by changing the INPUT5 Mac Address and ethInfo(nimu_eth.c) mac addrss to my PC`s NIC mac address. But it gave following error "TMS320C66x_0: Warning: Source MAC address & MAC address specified in config file don't match." when i start ping.

With a single NIC card how can I setup the simulator such a way to ping/send socket from other pc/server?

Similarly I have a socket listening on port 10001..and I have a UDP client sending udp packets from other system to the simulator PC. How to receive them?

 

Regards

Soumya

  • About the ping from other desktop not working, have you tried by adding an ARP entry on the remote desktop, such that it map the ping IP address to a MAC address.

    I am also asking an NDK expert for suggestions.

  • Well it seems the ARP entry is properly getting updated in the network. Once the clint application comes up it exchanges ARP with the external gateway and broadcasts its IP addreass and MAC addrs mapping. The local system is able to ping the client ip and in wireshark i can see the dest MAC address proper.

    Most interesting thing is from external server when I ping the client app, I can actually capture the packet in my local PC wireshark with DSP dest IP and MAC. But somehow it seems the packet is not going to the DSP or the ping reply is not coming out throuh the EMAC channel over pcap.

    NDK expert comments will really help in this problem.

  • Some more update:

    1) Now the incoming UDP sockets are received in the application running on the simulator and listening on UDP socket from outside network.

    2) Outgoing UDP sockts are still NOT going outside not even in wireshark log. Looks like the EMAC switch is not able to map the outgoing IP to MAC address.

    3) Ping is also not working from outside.

    4) Raw socket not captuning any packet including incoming UDP packets.

  • Quoting from the NDK expert :

    Since they are able to see the packet in Wireshark on the PC that the simulator’s running on, this sounds like the packet is being discarded by the driver or the stack.

     Can you ask the customer to try running the NDK “winapps/testudp.exe” application on their setup?

     This application is located in the NDK installation under “ti/ndk/winapps”.

  • To clarify further, I can only see local UDP packets on Wireshark.

    But outgoing UDP packets destined for external system can not be seen even in Wireshark.

    Output from testudp.exe

    D:\LTE\TI DSP\ndk_2_20_06_35\packages\ti\ndk\winapps>testudp.exe 10.141.21.26

    Testing DSP client at 10.141.21.26
    Testing UDP packet payloads from 0 to 1468 bytes...
    Failed on size 0

  • Hi Soumya,

    Soumya Sardar said:

    I was able to setup a ping communication between my desktop and the DSP IP address.

    Ok, I think this is a good starting point.  But, after this, did you try the UDP tests with this setup? Or immediately move to trying the UDP transfers with the external network setup?

    I think it would be a good idea to take a step backward, getting back to the setup you mention above in which you were able to ping the simulator successfully.  With this setup, I would recommend to test all of the features of the client example and then take one step at a time to move forward to more "advanced setups."

    A few things you should try in the client example are:

    1. connect to the web server by typing in the app's IP address into a web browser.  Test the basic functionality there.

    2. telnet into the application.

    3. run the testudp.exe

    4. run all other *.exe programs that are found in the winapps/ folder.

    Once you have tried the above, please let us know your results.

    If the above all works with your initial setup, then move to the other setup that you are having problems with (with the external network).  Then try the same tests and let's see what works and what does not work.

    Lastly, do you have actual hardware?  It would also be a good idea to try these same tests on real hardware.  This could help eliminate any problem that may be related to setting up the Windows network stack to work with the simulator.

    Steve

  • Hi Soumya,

    I wanted to check if you had any update on the problem you were experiencing?

    Steve

  • Hi Steve,

    Well after much research on using NDK in 6616/6670 simulator..the best i could get is in windows it could send udp socket outside.But can not rceive or not pingable.

    In linux, its totally down. Final word I got from my local TI contact is NDK with simulator is a bad combination without any prospective future.

    So shiftted to EVM 6670 and NDK has no trouble at all.

     

    regards

    Soumya