上周我把一个原本跑在 STM32F407 上的小网络应用迁到 STM32H563ZI 上CubeMX 里选了 ThreadX NetX Duo顺手用它的 UDP Echo Server 示例生成了工程。编译下载后板子能 ping 通主机串口也打印了 Link Up但网络调试助手往板子 UDP 端口发的数据却石沉大海完全没有回包。当时我一度以为只是 CubeMX 模板设置的问题后来把从 MAC 到 NetX Duo UDP socket 的整条数据通路顺了一遍才发现问题远比“点错一个选项”深。这篇文章从复现现象开始把排查思路、根因定位和最终修复方案完整记录下来给同样卡在 STM32H563ZI NetX Duo UDP 上的朋友一个参考。1. 现象复现先别急着怀疑 NetX Duo把 UDP 不工作拆成三层UDP 是典型的无连接协议没有 TCP 那种握手和确认机制所以“不工作”的现象往往是某个中间环节在静默丢包。收到这种问题第一步不是翻代码而是把数据链路拆成两层来看物理/网络层PHY、MAC、IP和传输/应用层UDP socket、端口、应用逻辑。如果你把问题笼统地当成“UDP 坏了”只会越查越乱。1.1 我的测试环境与复现步骤先交代一下环境方便你对照硬件基于 STM32H563ZI 的板子板载 PHY 是 LAN8742A中间件ThreadX 6.2 NetX Duo 6.2从 CubeMX 生成的工程IDESTM32CubeIDE 1.15STM32CubeH5 固件包 1.2.0PC 端网络调试助手 Wireshark iperf3复现步骤很简单CubeMX 勾选 NetX Duo选择 UDP Echo Server 模板