硬汉嵌入式论坛

 找回密码
 立即注册
查看: 717|回复: 1
收起左侧

[LwIP] 网口驱动不稳定,ping丢包,udp收发一段时间网口助手

[复制链接]

3

主题

1

回帖

10

积分

新手上路

积分
10
发表于 2022-5-17 09:32:00 | 显示全部楼层 |阅读模式
HC32F4A0+RTL8201--MII
现象:上电后多次ping,会出现丢包情况。UDP通信一段时间,无响应,此时ping不通,也进入不了ETH中断
断点调试: 接收中断,进入ethernetif_input后,偶尔会出现p = low_level_input( netif );p=null,
   继续追踪:发现low_level_input---ETH_DMA_GetReceiveFrame_Int(&EthHandle)) ,DMA接收失败,
                原因:/* Scan descriptor owned by CPU */
        while ((0UL == (pstcEthHandle->stcRxDesc->u32ControlStatus & ETH_DMA_RXDESC_OWN))条件不成立。

请大佬把个脉!!!!!!!!!!!谢谢

void ethernetif_input(void const * argument)
{
  struct pbuf *p;
  struct netif *netif = (struct netif *) argument;

  for( ;; )
  {
    if (osSemaphoreWait(s_xSemaphore, TIME_WAITING_FOR_INPUT) == osOK)
    {
      do
      {   
        LOCK_TCPIP_CORE();
        p = low_level_input( netif );
        if   (p != NULL)
        {
          if (netif->input( p, netif) != ERR_OK )
          {
            pbuf_free(p);
          }
        }
        UNLOCK_TCPIP_CORE();
      } while(p!=NULL);
    }
  }
}

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2022-5-18 00:55:25 | 显示全部楼层
这种的,一般底层驱动问题居多。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 10:33 , Processed in 0.175292 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表