查看: 1392|回复: 0

调试i.MXRT1050的网卡遇到的问题

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32004
    最后登录
    2024-4-9
    发表于 2020-2-10 08:57:40 | 显示全部楼层 |阅读模式
    1、当编写无uboot的驱动时,一定要注意GPIO的管脚上拉,下拉,管脚复用的上下拉使能问题。尽量参考uboot或者裸机的实现去编写代码。实在调试不出来,可以考虑打印所有的驱动相关的寄存器。


    2、问题: 网卡驱动代码写完之后,通过MMFR寄存器,读取PHY的寄存器的值失败(全F情况)
    解决方法::读取失败一般是硬件的管脚,时钟或者PHY的类型没有配置好(MII、RMII、RGMII)
    我遇到的问题是: 管脚复用没有配置好,管脚的上拉和下拉电阻配置寄存器没有配置。


    3、问题:PHY寄存器的值,可以正常通过MMFR寄存器从PHY寄存器中读取出来,但是自主协商失败
    解决方法:时钟、管脚和MII设置。
    我遇到的问题是: 有两个GPIO的管脚的电平状态没有设置()。GPIO管脚复用之后,还需要对GPIO管脚进行操作。
    GPIO10拉高是设置为芯片的PLL为ref_enetpll分频提供,而不是外部晶振提供给PHY和内部控制器。
    GPIO09拉低然后拉高是PHY芯片的复位操作。




    4、问题:PHY的自主协商成功,但是,中断不产生,用ints查看中断信息,没有网络中断。
    我的原因: 这是中断没有绑定成功,BASE里面有中断向量号的判断操作,中断号不能大于128,该中断号为130(前16个为异常情况,所以是114 + 16 = 130),所以绑定失败。
    我的解决: 修改base里面的中断判断宏定义为255


    5、问题:网络中断可以产生,但是只有TX中断可以产生,RX中断产生不了。
    解决: 此时,PHY的灯,不会闪,一直常亮。硬件GPIO没有配置好(功能,上拉,input)


    6、问题:网络的RX、TX中断均可以产生,但是ping不通。
    解决:可能是中断的问题====》或者是描述符分配方式问题
    解决:我遇到的是描述符分配问题。我使用的是malloc(内核没有打开DMAalloc的宏,DMAalloc无法使用),不是DMAalloc,存在cache没刷新问题。这种情况,应该关闭cache。。或者实现一个DMAalloc。


    7、问题:网络无法发送大数据包的问题。(ping 1472字节的数据可以ping通,ping1473以上就不行)
    解决: 内核base里面的IP分包没有打开。大数据包无法拆分成小报文的数据包发送,所以出问题。


    8、问题:网络描述符的字节对齐问题:
    解决:
    #define NETDEV_ALIGN (64) /* 64 字节对齐 */
    #define PTR_ALIGN(P, A) ((__typeof(P))ALIGN((ULONG)(P), (A))) /* 字节对齐设置的宏定义 */


    /*
    * 分配物理地址连续的4K内存供DMA使用
    */
    pBufd = (__PBUFD)__SHEAP_ALLOC(LW_CFG_VMM_PAGE_SIZE);
    pBufd = PTR_ALIGN(pBufd, NETDEV_ALIGN); /* 64 字节对齐操作 */
    9、问题:ping 直连的PC机,或者都一个路由的PC机,可以ping通,但是ping 网关或者局域网的其他设备ping不成功。
    解决:MAC地址设置有误。。 {0x1,0x02,0x03,0x04,0x15,0x16}像这样第一个字节为0x1而不写成0x01的MAC地址是不对的,导致了这个问题。


    10、问题: GPIO引脚设置时,调用系统提供的API接口出现问题,直接调用GPIO实现的函数则没问题。
    使用KEIL软件进行检查,是内核的宏的问题,解决。
    ————————————————




    作者:WY_Studying             文章出处:点击

    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 21:55 , Processed in 0.099726 second(s), 18 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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