本帖最后由 shaoyangv 于 2022-8-8 16:07 编辑
在使用GD32307C-EVAL开发板,基础代码使用官网下载的例程“GD32F30x_Demo_Suites_V2.4.1\GD32307C_EVAL_Demo_Suites\Projects\22_ENET\Projects\Raw_webserver”。PC向开发板发送数据,开发板过滤接收到的数据,把指定目的IP的数据进行转发。但如果PC连续向开发板发送数据,就会出现接收丢包的情况。
上图为PC端发送数据的抓包截图。PC在向板卡连续发送数据时,绿框标识的数据可正常接收,红色内的数据则会丢失。
有哪位大佬遇到过类似的问题,或者可以给一些调试思路,十分感谢。
补充说明:
1. 关于数据丢失数据包的定位,通过打印TCP数据包中的“Sequence Number”字段来确定。
2. 上述截图中,PC的IP地址为192.168.131.2,GD32开发板的IP为192.168.131.1。
3. 此现象稳定复现,且数据包丢失的位置是固定的,每次都是连续10包数据的后5包丢失。
4. 在以太网中断函数"void ENET_IRQHandler(void)"添加调试信息,丢失的包未触发此函数。
|