你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
STM32H7开发LWIP时遇到的问题,这里网卡的显示灯可以正常闪速,自己在网卡接收函数入口打印也发现有接收到数据。这里ping的结果就是显示超时,这里使用抓包软件Wireshark发现ping目标板的时候有数据返回。
举报
症状:网口灯闪、MCU 能进接收中断、Wireshark 能看到 ICMP Echo-reply,但主机依旧“Request timeout”。
表格复制
c复制
/* 1. 在 ETH 初始化处 */ heth.Init.TxConfig = ETH_TXCONFIG_CHECKSUMOFFLOAD; // H7 寄存器位 /* 2. 在 lwipopts.h */ #define CHECKSUM_BY_HARDWARE 1 #define CHECKSUM_GEN_ICMP 1 #define CHECKSUM_CHECK_ICMP 1
老版本 icmp.c 需手动把 iecho->chksum = 0; 保留,防止软件提前填充。
iecho->chksum = 0;
arp -a
arp -d <IP>
-O2
/* 发送前 */ SCB_CleanDCache_by_Addr((uint32_t *)p->payload, p->len); /* 接收后 */ SCB_InvalidateDCache_by_Addr((uint32_t *)p->payload, p->len);
memp_get_stats()
pbuf_free(p)
PBUF_POOL_SIZE
关于H750VB的SDMMC开启DMA读写SD卡
stm32h745 调试问题
FDCAN如何处理大于64帧字节的数据
天气很凉爽
FLM算法文件工程代码需要特别注意什么吗?
STM32H7电源问题
串口+DMA发数据
STM32H723FDCANT通信
STM32H725内部FLASH读写问题
关于NAND FLASH加LittleFS的方案
STM32H7 + LWIP 能收包却 ping 超时一站式排查表
1. 校验和(Checksum)→ 90 % 踩坑点
表格复制
c复制
2. ARP / IP 冲突
表格复制
arp -a看目标 IP 对应的 MAC 是否等于板子 MACarp -d <IP>清缓存;给板子分配唯一 IP;必要时发 Gratuitous ARP3. Cache 污染(D-Cache 与 DMA 不一致)
表格复制
-O2优化后必现c复制
4. pbuf 泄漏(PBUF_POOL 耗尽)
表格复制
memp_get_stats()观察 PBUF_POOL 可用数每 ping 减 1pbuf_free(p)调用5. 一键自检清单(复制打钩)
arp -a目标 IP ↔ MAC 正确,无 IP 冲突PBUF_POOL_SIZE次仍正常