为了测试在 SYS/BIOS 下的2个 DSP 内核上运行的 TCI6638K2K DSP 软件、我们在通过 TCP/IP 与 PC 交换消息的第三个内核上运行 NDK 任务。 第三个内核使用 QMSS 与其他内核交换消息。
NDK 任务是基于 NDK 'HelloWorld'示例的 TCP/IP 服务器(但使用 TCP/IP 而不是 UDP)。
我们使用以下组件:
- EVM: XTCIEVMK2K 版本3.0
-
XDC 工具3.25.5.94
-
NDK 2.24.2.31
-
SYS/BIOS 6.37.2.27
-
Keystone2 PDK 3.0.3.15
-
CCS 5.
如果我按原样运行 NDK 的"HelloWorld"、则该示例运行良好、并无限期响应来自远程 PC 的 ping 命令。
如果我运行 TCP 服务器的调整,它最坏的情况是从不响应 ping,最好是响应数百个 ping,然后停止响应。
我已成功构建 NDK 并添加了 ARP 数据包监控功能(挂钩)。 现在、我可以检测 NDK 堆栈何时处理 ARP 请求。
我观察到了特定的故障模式。 该应用程序配置为使用 DHCP。 当我启动应用程序并使用 Wireshark 观察网络流量时,有时我会看到预期的 DHCP 交换(发现/提供/请求/确认)后跟一个免费的 ARP,然后 调用我们的 NetworkIPAddr (),其指定方式为: