linux以太网驱动总结
工作中涉及linux以太网驱动,涉及代码:drivers/net/ethernet/stmicro/,drivers/net/phy/,进行一下总结。
概要:
1.以太网硬件
2.软件初始化probe, open
3.数据发送过程
4.数据接收过程
5.设备无关层
6.bring up以太网功能
7.传输过程中传输中断的问题
1.以太网硬件
MAC:通常集成在ARM芯片中,功能类似于一个controller,以太网协议层数据传送给MAC,由MAC通过DMA发送到外部接口,外部接口连接着PHY。或者接收从PHY传过来的信号,DMA搬运到内存中存储。
PHY:通常是一个独立芯片,有数字和模拟两部分,也可以集成在ARM芯片内部。负责把从MAC传送过来的数据转换成可以在网线上传输的信号,或者接收网线上传输过来的信号,转换成数字信号回传给MAC。分为百兆PHY和千兆PHY。
PHY配置:自协商模式开启/关闭; 自协商关闭状态下,配置为强制full duplex, half duplex, 强制1000Mbps/100Mbps/10Mbps;WOL开启/关闭。
MAC和PHY之间的接口分为RMII接口(百兆),RGMII接口(千兆)。
RMII接口:
数据传输信号线TX0, TX1, RX0,RX1,clock
控制口:MDC, MDIO
RGMII接口:

本文是对linux以太网驱动的全面总结,包括硬件部分如MAC、PHY的介绍,软件初始化流程,数据发送和接收过程,设备无关层,以及以太网功能启动和中断问题的处理。重点探讨了MAC与PHY的接口、软件初始化步骤、数据传输机制以及故障排查方法。
最低0.47元/天 解锁文章
4178

被折叠的 条评论
为什么被折叠?



