目录
1、引言
2、以太网硬件结构
3、以太网驱动分析(结合gmac项目)
3.1 dts节点分析
3.2 gmac驱动源码分析(open 收发包机制简要分析)
一、引言
最近在Android项目中,遇到以太网相关的问题,故来整理一下相关东西
涉及代码:drivers/net/ethernet/gmac/,以及相关dts文件
二、以太网硬件结构
以太网结构主要分为以下几个部分
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