Part Number: TCI6638K2K
To test our TCI6638K2K dsp software, which runs on 2 dsp cores under SYS/BIOS, we run a NDK task on a 3rd core that exchanges messages with a PC over TCP/IP. That 3rd core exchanges messages with the other cores using QMSS.
The NDK task is a tcp/ip server, based on the NDK 'helloWorld' example (but uses tcp/ip instead of udp).
We are using the following components:
- EVM: XTCIEVMK2K Rev.3.0
-
XDC Tools 3.25.5.94
-
NDK 2.24.2.31
-
SYS/BIOS 6.37.2.27
-
Keystone2 PDK 3.0.3.15
-
CCS 5
If I run NDK's 'helloWorld' as is, the example runs fine and responds to ping commands from a remote PC indefinitely.
If I run our adaptation of the tcp server, at worst it never responds to a ping, at best it responds to several hundred pings and then stops responding.
I have successfully built the NDK and added an ARP Packet Monitoring Function (a hook). So I can now detect when the NDK stack processes an ARP request.
I have observed a particular failure mode. The app is configured to use DHCP. When I start the app, and observe network traffic using Wireshark, I sometimes see the expected DHCP exchange (Discover / Offer / Request / Ack) followed by a Gratuitous ARP and then our NetworkIPAddr() is called, which is specified by: