湘潭做网站 磐石网络优质,请人做网站花多少钱,公司管理系统叫什么,如何建立公司网站电话一、Linux下的以太网架构
1、Linux 系统网络协议层架构
PHY 驱动的功能处于链路层#xff1a; 2、以太网物理层与硬件连接 我们重点关注以下两点#xff1a; #xff08;1#xff09;与 MAC 设备的接口#xff0c;即是 gmii 还是 rgmii。 #xff08;2#xff09; Phy…一、Linux下的以太网架构
1、Linux 系统网络协议层架构
PHY 驱动的功能处于链路层 2、以太网物理层与硬件连接 我们重点关注以下两点 1与 MAC 设备的接口即是 gmii 还是 rgmii。 2 Phy 芯片的地址正确配置可以通过 mdio/mdc 正确访问到 phy 芯片的寄存器。 3、链路层与 Linux 网络设备管理 Linux 网络设备系统包括设备与驱动二大部分。网络设备驱动包括 MAC 层的驱动、MDIO 总结接口驱动 与 phy 驱动。 二、Linux 以太网 phy 驱动基本开发流程
1、硬件设计。 包括 PHY 芯片地址设定、与 MAC 接口模式如 RGMII、MAC 时钟的接入方式、PHY 芯 片的复位管脚以及 PHY 芯片上电工作模式的设置。这一般是硬件工程师的工作驱动工程师只要根据硬件原理图配置软件即可。
2、 根据硬件连接修改 linux 系统的设备定义树.dts 文件。
通常是修改 GMAC 的定义以及 MII 管脚复用定义。具体需要看 SOC 芯片开发平台的定义。 3、 phy 驱动移植
解压驱动解压后按照 Linux 的目录结构展开。用户需要将文件按相应的目录 copy 到目标板 Linux 系统开发环境 将.c文件和头文件copy到各自的目录 motorcomm.c --- longan/kernel/linux-5.15/drivers/net/phy/motorcomm.c
motorcomm_phy.h --- longan/kernel/linux-5.15/include/linux/ motorcomm_phy.h 添加Kconfig config MOTORCOMM_PHYtristate Motorcomm PHYs---help---Supports the YT8010, YT8510, YT8511, YT8512 PHYs. 添加Makefile obj-$(CONFIG_MOTORCOMM_PHY) motorcomm.o 4、测试
重新编译烧录后检查目标机系统里有没有网络设备如 eht0。
主要是 ping 通。 Ping 通是很关键的一步。Ping 通与以下配置有关 a) 如果是 rgmii 接口在设备树配置文件里的 tx_delay 和 rx_dealy 的配置很重要参考后面关于 rgmii delay line 的配置。 b) PHY 的状态(link up, speed, duplex)是否正确。这个需要在 phy state machine 里增加打印进行跟 踪通常在 phy.c 里。 c) 通过统计计数(MAC 层phy 层)来确认是哪个方向tx 或者 rx的问题。 5、常见问题
重新编译烧录后开发板系统里没有网络设备 1 Phy 驱动有没被正确加载。 2 MAC 驱动有没有正确运行参看开发平台提供的 MAC 驱动重点检查在 DTS 里配置的 compatible 字段与 MAC 驱动里的定义是否一致。 3MDIO 是否访问正确。在 mdio 扫描代码里增加打印看 phy 寄存器的读写是否正确。 4Phy id 是否被正确识别。在 mdio 扫描代码里增加打印看读到的 phy id 与 phy 驱动的 phy id 是 否一致。 5与硬件工程师确认 phy 芯片是否工作正常(上电时序、时钟供电及复位等)。