从硬件上来说,一般PHY芯片为模数混合电路,负责接收电、光这类模拟信号,经过解调和A/D转换后通过MII接口将信号交给MAC芯片进行处理。一般MAC芯片为纯数字电路。...物理层的芯片称之为PHY。...图8‑9 88X3140/3120原理框图 通过几个PHY片的原理框图可以总结出下面的简化PHY片的原理框图。 ?...图8‑10 PHY简化的原理框图 从上图可知,PHY它包含了多个功能模块,功能模块的多少会因需要的不同而有所增减,比如: 只有10GBase-R、40GBase-R、100GBase-R的PCS需要FEC
另外,可通过 MDIO 接口对 PHY 芯片进行配置(如PHY芯片寄存器读写),而 PHY 和 MAC 通过 MII/RMII 进行数据传输。...设备的注册 以网卡 Fec 为例,网卡驱动在初始化 fec_probe() 时遍历 dts 的定义,创建相应 struct phy_device 类型的设备,主要步骤为: 注册网络设备 net_device...kobject、ktype的设置 -> irq_of_parse_and_map(child, 0); //将中断解析并映射到linux...->dev); // 注册到linux设备模型框架中 -> if (!...网卡 fec 和 Phy 的协作 在 linux 内核中,以太网 mac 会被注册成 struct net_device,phy 芯片会被注册成 struct phy_device。
一、phy执行的枚举状态定义 enum phy_state { PHY_DOWN=0, //down 如关闭网卡,ifconfig eth0 down PHY_STARTING, //1 PHY_READY..., //2 phy设备注册成功 PHY_PENDING, //3 phy芯片挂起 PHY_UP, //4 开启网卡,ifconfig eth0 up PHY_AN, //5 网卡自动协商 PHY_RUNNING...,就强制执行自动协商(读取phy寄存器、并设置通讯速率、半双工或全双工模式、等) PHY_CHANGELINK, //9 当连接时,会换到PHY_RUNNING,当断网时,会切到PHY_NOLINK..., phy_state_machine); //初始化一个中断顶版本的延时工作队列,用来处理phy状态机 phy_device_register //phy设备注册 device_add...supports */ /* phy 设备在注册时初始化为如下: phydev->supported = phydrv->features; //phydrv->features = PHY_BASIC_FEATURES
一个以太网PHY是一个芯片,可以发送和接收以太网的数据帧(frame)。 也就是说,PHY是网络结构中的最底层,物理层。PHY芯片是实现物理层这一层功能的芯片。...但一般来说,PHY的功能是单独做到一个PHY芯片内部的,集成了PHY的网络设备芯片(CPU、交换机芯片等等)一般也有接口连接单独的PHY。...因此,在一般的网络设备电路设计中,需要为PHY芯片设计电路。PHY的芯片厂家为了满足大部分的应用场景,会在PHY上面提供很多接口协议,以供设计人员使用。...由于一个PHY芯片的功能可能会比较多,因此,在PHY芯片的应用中,有一点很重要的就是要选择合适的接口来满足自己的应用。 PHY芯片的接口介绍 MII接口 MII是连接PHY和MAC的总线。...当PHY接收数据时的流程反之。 PHY的功能之二: CSMA/CD的部分功能 PHY还有个重要的功能就是实现CSMA/CD的部分功能。
摘要:什么是phy为什么要熟悉RJ45网口网络七层协议两个模块进行通信什么是MDIO协议MDIO的作用 MDIO没那么重要MDIO读写时序为什么说读取的phy最多32个什么是phy物理层芯片称为PHY、...Linux系统的arm芯片想要网络,可以直接通过mac和网卡芯片连接获取,这时候就需要通过RGMII接口或者MII接口 和 MDIO 连接网卡芯片。...STA设备通过MDIO接口与PHY通信。STA(StaTIon Management)为主控设备,比如MCU、MAC、ONU等。PHY为从设备。一个STA最多管理32个PHY。...为什么说读取的phy最多32个 因为mdio中读取的phy只提供5bit的字节即最高11111 转成十进制就是31即0-31就是32个,但这是从读取的方式判断的,而mdio读取是依照phy芯片本身地址空间就...以上内容是海翎光电的小编看了大量的参考文献和一步步的实践总结的经验,通过实践,把每一层都走一遍,把变压器去掉,把phy去掉,linux系统的网卡函数看了一遍,phy芯片的手册有看了很多。
网络配置 (更改已经有的,不要删别的) #第一块网卡 [root@localhost ~]# vi /etc/sysconfig/network-scripts...
一、内核中断初始化 文件:kernel\init\main.c。...Linux内核中断初始化流程如下: start_kernel()-> init_IRQ()-> irqchip_init()-> of_irq_init(...__irqchip_of_table) ## 扫描和初始化设备树中的中断控制器("interrupt-controller") __irqchip_of_table在RK3399中断控制器GICv3初始化时赋值...二、中断控制器初始化 文件:drivers/irqchip/irq-gic-v3.c。...中断控制器GICv3初始化流程如下: IRQCHIP_DECLARE(gic_v3, "arm,gic-v3", gic_of_init); gic_of_init()-> gic_init_bases
>> /etc/security/limits.conf 修改最大连接数 6、配置开机启动项 保留5个必须:sshd|rsyslog|network|crond|sysstat sshd 远程连接Linux...服务器时需要用到这个服务器程序,所以必须要开启,否则将无法连接Linux服务器。
PHY 芯片内部含有一些列寄存器,用户可通过这些寄存器来配置 PHY 芯片的工作模式以及获取 PHY 芯片的若干状态信息,如连接速率、双工模式、自协商状态等。...图8‑33 MDIO接口 MDIO 为双向接口,在 PHY 芯片外部需要连接上拉电阻, 1 个 MDIO 接口可以同时连接多个 PHY 芯片。...由于 MDIO 协议中 PHY 芯片地址的位宽为 5bit,因此, 1 个 MDIO 接口最多可以同时连接 32 个PHY 芯片。...(1)PHY芯片地址 一般的PHY地址都是可以通过硬件进行设置,查看相关原理图就可以确定。 (2)控制寄存器 一般的PHY中地址为0x00的寄存器可用于芯片的复位以及其他功能的控制。...PHY芯片状态监控和配置,并控制子模块mdio_control完成2个PHY芯片的寄存器的写入和读取。
我们接着看linux初始化内存的下半部分,等内存初始化后就可以进入真正的内存管理了,初始化我总结了一下,大体分为三步: 物理内存进系统前 用memblock模块来对内存进行管理 页表映射 zone初始化...前两步在linux里分别对应如下操作: fixed map 加载dtb :Uboot会将kernel image和dtb拷贝到内存中,并且将dtb物理地址告知kernel 系统解析dtb里的内存参数:...对物理内存“划分”的初始化,包括node, zone, page frame,以及对应的数据结构。...「Linux是如何组织物理内存的?」...最后 至此linux对物理内存的初始化和虚拟地址和物理地址的映射关系算是告一段落,相信你已经知道 linux 虚拟寻址空间layout的来龙去脉,以及如何把物理内存通过node, zone, page
看了很多关于linux内存管理的文章还是云里雾里,听了很多关于linux内存管理的课程还是一头雾水。...这篇文章我们先来看下linux在启动过程中的初始化。 创建启动页表: 在汇编代码阶段的head.S文件中,负责创建映射关系的函数是create_page_tables。...注意:如果想要在伙伴系统初始化之前进行设备寄存器的访问,那么可以考虑early IO remap机制。 至此我们已经知道dtb和early ioremap都是在fixmap区的,如下图: ?...系统内存的布局: 完成dtb的map之后,内核可以访问这一段的内存了,通过解析dtb中的内容,内核可以勾勒出整个内存布局的情况,为后续内存管理初始化奠定基础。
有了armv8架构访问内存的理解,我们来看下linux在内存这块的初始化就更容易理解了。...注意:如果想要在伙伴系统初始化之前进行设备寄存器的访问,那么可以考虑early IO remap机制。 至此我们已经知道dtb和early ioremap都是在fixmap区的,如下图: ?...系统内存的布局: 完成dtb的map之后,内核可以访问这一段的内存了,通过解析dtb中的内容,内核可以勾勒出整个内存布局的情况,为后续内存管理初始化奠定基础。
前面我们已经了解了saltstack的基础功能,现在就可以使用saltstack为初始化新安装的linux系统。...初始化列表: 1.关闭selinux 3.修改sshd配置文件 4.内核优化 5.ulimit修改 6.history记录 7.时区修改及添加cron 8.安装epel 9.修改resolv...解析文件 10.软件安装 好了,此前我们已经修改了salt的base目录,默认在/srv/salt 下我们调整到/etc/salt目录下了 现在呢,我们需要去建立一个目录专门用于存放初始化sls的
Linux 可能自带 openjdk,先将其卸载,之后官网下载再进行安装。
第一步:设置Git全局用户名和邮箱 git config --global user.name "你的用户名" git config --global user...
PHY 2.1 DP83848(电流型PHY) 2.2 BCM5333(包含电压型PHY) 2.3 88E1111(电流型PHY) 2.4 DM9000(电流型PHY) ---- 0.几个结论 1)电流驱动型的...2)电压驱动型的PHY,2线共模电感可以放在PHY侧或线缆侧。 1)和2)的结论表明无论哪种PHY,2线共模电感都可以放在线缆侧。 3)电流驱动型的PHY,3线共模电感要放在PHY侧。...4)电压驱动型的PHY,3线共模电感要放在PHY侧。 5)电流或电压驱动型的PHY,若为2线共模电感+自耦变压器形式,自耦变压器放在RJ45侧。...6)与电流驱动型PHY连接的网络变压器的中心抽头接VCC,VCC为PHY的供电电压。 7)与电压驱动型PHY连接的网络变压器的中心抽头接对地电容。...PHY,电流驱动型的PHY,2线共模电感要放在线缆侧,因此下图是正确的。
物理层的芯片称之为PHY。...图8‑19 88X3140/3120原理框图 通过几个PHY片的原理框图可以总结出下面的简化PHY片的原理框图。 ?...复位唯一需要注意的是PHY的上电时序,下面是某一PHY的时序要求: ?...图8‑22 PHY复位时序 为了保证PHY的稳定工作,一般的PHY都是先电源供电,然后时钟工作,最后进行复位,具体的时序要求,可以查看相关的数据手册。...PHY 内部寄存器的读写通过 MDIO 接口进行。注意MDO口的上拉,其他就是主控的配置PHY,后面会详细介绍。
近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版采纳了...本文简要介绍了这三种 init 系统的使用和原理,每个 Linux 系统管理员和系统软件开发者都应该了解它们,以便更好地管理系统和开发应用。...浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 浅析 Linux 初始化 init 系统,第 2 部分: UpStart 浅析 Linux 初始化 init 系统,第 3 部分...: Systemd Systemd主要的设计目标是克服传统Linux主流启动程序SysVinit 固有的缺点,提高系统的启动速度。
可以调整部分参数使系统有较好的表现,或放开某些因为安全考虑而显得过于保守的设置,还有一些是基于特定应用场景的定向调优
领取专属 10元无门槛券
手把手带您无忧上云