GD32F4以太网在软件复位时卡住

[复制链接]
8245|12
 楼主| WESTARK 发表于 2020-7-6 18:44 | 显示全部楼层 |阅读模式
我使用的是官方1.4的库里的以太网例程,连接网线下载程序后,打开DEBUG发现程序一直卡在 reval_state = enet_software_reset();
进去后发现,dma_flag = (ENET_DMA_BCTL & ENET_DMA_BCTL_SWR); SWR位一直不复位。

评论

请问楼主解决了吗,我也遇到这个问题了  发表于 2021-8-10 14:17
 楼主| WESTARK 发表于 2020-7-6 18:49 | 显示全部楼层
enet_system_setup();
enet_gpio_config();
enet_mac_dma_config();

    reval_state = enet_software_reset();
    if(reval_state == ERROR){
        while(1){}

}

    /* reset all core internal registers located in CLK_TX and CLK_RX */
    ENET_DMA_BCTL |= ENET_DMA_BCTL_SWR;

    /* wait for reset operation complete */
    do{
        dma_flag = (ENET_DMA_BCTL & ENET_DMA_BCTL_SWR);
        timeout++;
    }while((RESET != dma_flag) && (ENET_DELAY_TO != timeout));



PHY芯片配置的管脚也是对的,PHY芯片也复位了,但就是卡在软件复位这里。
有没有大佬帮忙看下。

zyb763244388 发表于 2020-7-27 11:35 | 显示全部楼层
楼主问题解决了吗,我也遇到相同的问题了...
coshi 发表于 2020-8-3 18:18 | 显示全部楼层
纯硬件复位可以吗
aoyi 发表于 2020-8-3 18:19 | 显示全部楼层
先排除一下是硬件问题还是软件问题啊
drer 发表于 2020-8-3 18:19 | 显示全部楼层
帮楼主顶一下
gwsan 发表于 2020-8-3 18:19 | 显示全部楼层
楼主问题解决了吗
kxsi 发表于 2020-8-3 18:19 | 显示全部楼层
我也很关心这个问题
yyyxh 发表于 2021-2-22 13:02 | 显示全部楼层
楼主,后来问题解决了吗,我也遇到了
smilegogo 发表于 2021-2-26 10:22 | 显示全部楼层
void enet_deinit(void)
{
    rcu_periph_reset_enable(RCU_ENETRST);
    rcu_periph_reset_disable(RCU_ENETRST);
    enet_initpara_reset();
    rcu_periph_reset_enable(RCU_ENETRST);//新增
}
在void enet_deinit(void)函数中,新增 rcu_periph_reset_enable(RCU_ENETRST);软件复位就可以过
sadicy 发表于 2021-8-14 11:34 | 显示全部楼层
复位不成功?
紫气东升 发表于 2021-8-14 11:51 | 显示全部楼层
本帖最后由 紫气东升 于 2021-8-14 11:54 编辑

我用来测试的板子,用着用着突然间发现看门狗一直复位。在线调试也是一直卡在这一步。经过硬件人员的分析,是因为PHY网口芯片坏了。检测是不是PHY芯片坏了,可以将板子的网线直接连到电脑上,然后打开电脑的网络设置,看里面的以太网连接是否正常,如果没有检测到,说明就是芯片坏了。

图中红框是正常连接电脑检测到的

图中红框是正常连接电脑检测到的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部