源文件主要存在以下两点问题: 1> EMAC_init函数中对MAC进行配置时直接对寄存器进行操作,然而寄存器名称与官方文档中的寄存器名称不符,另外并没有对基于的gd32f450z开发板使用的PHY芯片DP83848进行配置,直接使用了其上电自协商的模式,而且直接配置了MAC为百兆全双工的工作模式,这里应该通过读取PHY的自协商结果来设置MAC,所以替换了GD官方的初始化函数; 2> 使用原文件编译下载至开发板后复位有概率ping不通,这是由于在初始化过程中清空发送FIFO的操作没有增加延迟导致的,所以换成了GD官方的enet_txfifo_flush函数; 已在GD32450Z-EVAL开发板上测试,修改后没有再出现以上问题。
- add gcc support - update project because GUI had move to packages - enable RT_USING_USER_MAIN mode