0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【技术分享】在M3568上移植ePort-G驱动及调试技巧

AGk5_ZLG_zhiyua 来源:未知 2023-02-08 11:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

产品上网口没有显示?无法进行ping命令?速度拉跨?还经常丢包?那一定是漏掉了什么细节了,看看下面操作,说不定能够帮到你。


  网口驱动移植的准备

本次我们使用的平台是致远电子M3568系列核心板,网口模块是致远电子ePort系列的ePort-G型号产品,速率可达千兆,而且简化硬件设计,缩短开发时间。

配置网口驱动时,我们得先了解原理图中网口对应的模式以及地址,确认好用到的引脚,方便之后的设备树配置,如下图参考:

可以看到我们要使用的物理地址及PHY的工作模式,同时也要注意电压的配置,与硬件工程师确认网口模块所需要的IO电压,根据需求不同去配置电源域(3.3V或1.8V)。

  驱动程序的移植及设备树的修改

调试之前需要根据官方说明去修改drivers/net/phy下的Makefile和Kconfig,然后将官方的驱动拷贝到该目录下。或者直接修改Makefile将该驱动文件编译到内核,不修改Kconfig,这样就不用make menuconfig去勾选上网口驱动。之后在RK平台下调整设备树部分,由于ePort-G该网口型号支持千兆,官方说明千兆时钟应设为125M,如下参考(注:其他如复位引脚和设置pinctrl的引脚未写出),根据原理图实际配置来修改设备树。

&gmac1 {
phy-mode = "rgmii"; //PHY接口模式
clock_in_out = "output"; //时钟输入输出方向,该为MAC输出给PHY,input则相反

//设置千兆所需要的时钟
assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
assigned-clock-rates = <0>, <125000000>;


//根据PCB布线不同修改值
tx_delay = <0x21>;
rx_delay = <0x2f>;


phy-handle = <&rgmii_phy0>;
status = "okay";
};
&mdio1 {
rgmii_phy1: phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <7>; //PHY的物理地址,原理图上有标出
};
}

之后编译内核,查看drivers/net/phy下有无生成对应驱动的.o文件,若驱动程序在编译过程出现报错,可能要根据自己内核版本去修改官方的驱动程序,将一些没有的函数屏蔽或替换。编译完成后将boot.img烧录到开发板上(内核和设备树)


查看网口是否配置成功及网口调试

1. 配置检查

进入开发板,查看sys/bus/mdio_bus/下面的drivers和devices,分别进入查看是否在devices中生成对应节点以及查看devices下的phy_id是否与驱动程序中自己网口型号的phy_id一致,如果没有出现对应节点情况检查设备树中compatible的属性,如果还不一致则将iee部分改成id+网口型号的phy_id。如下图:

输入命令ifconfig ethx dowm和ifconfig ethx up(x为网口号)检查是否能正常起来,尝试更改设置ip地址,连接网线进行ping命令查看可否通同一网段下的网线另一端地址。

2. 网口调试

在ping通外网之后可以尝试使用iperf3来进行网络测试,测试通过iperf3功能从板子做服务器接收速度和板子做客户端发送速度的数据来观测是否达到要求。如下图:

当然,也可能存在丢包情况,这种情况需要适当的调整MAC的tx_delay和rx_delay,也可以通过在驱动程序中调整寄存器值的方式来控制phy的tx_delay和rx_delay,一般调整MAC。通过RK平台下中/sys/device/platform/fe….ethernet/rgmii_delay可以调试修改tx_delay和rx_delay,输入命令echo 0x2a 0x26 > rgmii_delay(第一个延迟参数为tx,第二个为rx),修改的数值可以根据该目录下的phy_ld_scan工具来查看。拔掉网线,输入命令echo 1000> phy_ld_scan后,如下图所示:

有0的表示通路,根据横(TX的延时)纵(RX的延时)坐标来观察出TX和RX的延时应设置为多少。如果根本没有0或者0很少的情况则考虑下硬件走线是否过长导致。


技术交流
长按识别如下二维码可加入“工控板/核心板交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信zlgmcu-888。

该二维码7天内(2月13日前)有效


原文标题:【技术分享】在M3568上移植ePort-G驱动及调试技巧

文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 致远电子
    +关注

    关注

    13

    文章

    420

    浏览量

    32372

原文标题:【技术分享】在M3568上移植ePort-G驱动及调试技巧

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 636次阅读
    【迅为工业RK<b class='flag-5'>3568</b>稳定可靠】itop-<b class='flag-5'>3568</b>开发板Linux<b class='flag-5'>驱动</b>开发实战:RK<b class='flag-5'>3568</b>内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发第4章驱动模块传参实验

    【迅为工业RK3568稳定可靠】itop-3568开发板驱动开发第4章驱动模块传参实验
    的头像 发表于 11-06 14:25 166次阅读
    【迅为工业RK<b class='flag-5'>3568</b>稳定可靠】itop-<b class='flag-5'>3568</b>开发板<b class='flag-5'>驱动</b>开发第4章<b class='flag-5'>驱动</b>模块传参实验

    【作品合集】视美泰M-K1HSE、3568开发板测评

    视美泰M-K1HSE、3568开发板测评作品合集 产品介绍: M-KIHSE开发板: M-KIHSE开发板是一款基于进选时空K1(RISC-V SpacemiT X60)八核处理器的高
    发表于 09-22 10:32

    M3568系列核心板:多屏同显异显,智能交互新体验

    随着物联网的飞速发展,人们对设备的交互和监控需求越来越高,多屏显示功能成为众多应用场景的必备需求。ZLG致远电子推出的M3568系列核心板及其评估板,为多屏显示提供了高效、灵活的解决方案。行业背景
    的头像 发表于 08-12 11:35 505次阅读
    <b class='flag-5'>M3568</b>系列核心板:多屏同显异显,智能交互新体验

    迅为RK3568 重制版RK3568驱动指南全面升级

    迅为RK3568 重制版RK3568驱动指南全面升级
    的头像 发表于 07-28 15:25 1483次阅读
    迅为RK<b class='flag-5'>3568</b> 重制版RK<b class='flag-5'>3568</b><b class='flag-5'>驱动</b>指南全面升级

    【RA-Eco-RA6M4开发板评测】2、I2C外设驱动OLED屏幕和移植u8g2

    ://wiki.seeedstudio.com/Grove-OLED-Display-0.96-SSD1315/ u8g2移植简述 SeeedStudio官方的使用手中,Ardui
    发表于 07-23 13:51

    【HZ-RK3568开发板免费体验】合众HZ-RK3568开发板测评

    。 Ethernet 2路10/100/1000Mbps自适应网口,RJ45引出。 4G/5G M.2 Key-B,内含USB 3.0/2.0接口,可用于扩展4G/5
    发表于 07-14 22:24

    高效开发 | 瑞迅基于瑞芯微系列主板QT移植部署(

    嵌入式开发的浪潮中,RK3568平台以其强劲性能成为诸多领域的宠儿,而QT凭借出色的跨平台特性和丰富功能,是界面开发的利器。将QT5移植到RK3568平台的深度融合,是嵌入式硬件标准
    的头像 发表于 07-11 15:39 795次阅读
    高效开发 | 瑞迅基于瑞芯微系列主板QT<b class='flag-5'>移植</b>部署(<b class='flag-5'>上</b>)

    【HZ-RK3568开发板免费体验】HZ-RK3568开发板初步接触

    aarch64 GNU/Linux 板子的配置是1G RAM + 8G flash的组合,自己剪裁OS绰绰有余。 [root@rk3568:/]# df -h FilesystemSizeUsed
    发表于 07-10 23:19

    硬件调试:JLink 驱动配置与调试技巧

    摘要: 本文深入探讨了 JLink 调试嵌入式系统硬件调试中的应用,详细阐述了 JLink 驱动配置的方法以及硬件调试技巧。本文以国科安
    的头像 发表于 06-12 23:20 1259次阅读
    硬件<b class='flag-5'>调试</b>:JLink <b class='flag-5'>驱动</b>配置与<b class='flag-5'>调试</b>技巧

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
    的头像 发表于 06-03 11:32 984次阅读
    RK<b class='flag-5'>3568</b><b class='flag-5'>驱动</b>指南|第十二篇 GPIO子系统-第130章 GPIO的<b class='flag-5'>调试</b>方法

    基于EPCM3568B-LI的无线模块应用 — 4G

    本文介绍4G模块EPCM3568B-LI5G智能边缘计算网关设备的使用。引言EPCM3568B-LI/EPCM
    的头像 发表于 05-07 11:33 1051次阅读
    基于EPCM<b class='flag-5'>3568</b>B-LI的无线模块应用 — 4<b class='flag-5'>G</b>篇

    北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

    北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构
    的头像 发表于 03-11 14:13 1552次阅读
    北京迅为RK<b class='flag-5'>3568</b>开发板OpenHarmony系统南向<b class='flag-5'>驱动</b>开发内核HDF<b class='flag-5'>驱动</b>框架架构

    技术分享 | RK3568编译第三方驱动

    我司IAC-RK3568-Kit基于Linux4.19.232,搭载BuildRoot或Debian10操作系统。通常我们使用外围设备模块时需要编译对应的驱动,如USBWIFI、USBBT等,那
    的头像 发表于 03-06 17:25 1831次阅读
    <b class='flag-5'>技术</b>分享 | RK<b class='flag-5'>3568</b>编译第三方<b class='flag-5'>驱动</b>

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动

    迅为RK3568开发板驱动指南Linux中通用SPI设备驱动
    的头像 发表于 01-23 11:02 3418次阅读
    迅为RK<b class='flag-5'>3568</b>开发板<b class='flag-5'>驱动</b>指南Linux中通用SPI设备<b class='flag-5'>驱动</b>