计算机网络
总览计算机的硬件组成结构(1、早期冯诺依曼计算机、2、现代计算机的结构)
1、计算机网络1.1、计算机网络概述计算机网络 :由若干结点和连接这些结点的链路组成互联网:isp:互联网服务提供商干的就是全世界的网络都连接起来,公众只需交网费就可以接入这个网络,必须使用tcp/ip。Internet互连网:由若干网络和连接这些网络的链路组成,可以使用其他协议。internet
集线器(hub):允许将多台计算机连接起来,实现数据共享。但是,集线器存在数据传输效率低、容易发生数据碰撞的问题。(工作物理层)多台设备同时发送时出现数据碰撞,导致数据丢失。
交换机:将数据包转发到目的主机,实现数据传输的高效。组建计算机网络。( 数据链路层)构建大的计算机网络就可以使用多台交换机。
路由器:可以将两个或者多个计算机网络连接起来,实现数据传输的高效,也称之为互连网。( 网络层)
这里的路由器和家用路由器有区别:家用路由器 = 路由器+交换机+其他功能
2、计算机网络组成了解就可以:
3、电路交换,报文交换,分组交换电路交换:通信主端端之间建立电路,数据传输。通信时间内,通讯线路被占 ...
I2C
I2C一般由两个引脚组成,SCL和SDA。SCL是时钟信号,SDA是数据信号。
MII\GMII\RGMII
MDIO 是纯粹的控制接口,负责 MAC 与 PHY 之间的参数配置、状态读取;而 MII/GMII/RGMII 是数据通信接口,专门传输以太网帧的实际数据(收发双向),两者分工明确、协同工作,共同完成以太网的完整通信。
一、核心分工:控制 vs 数据
接口类型
核心作用
传输内容
总线特性
MDIO
控制与管理
PHY 配置参数(速率、双工)、状态信息(链路是否连通)
双线串行总线(MDC 时钟 + MDIO 数据),低速
MII/GMII/RGMII
数据收发
以太网帧(前导码、数据、CRC)、同步时钟、使能信号
多线并行总线(含数据、时钟、控制信号),高速
简单说:MDIO 是“指挥通道”(比如告诉 PHY“用1G全双工模式”),MII/GMII/RGMII 是“数据通道”(实际传输网页、文件等数据)。
二、数据接口的差异(MII/GMII/RGMII)三者都是 MAC 与 PHY 之间的数据接口,核心区别是速率、信号线数量、时序设计,适配不同带宽需求:
MII(Media Ind ...
arm汇编与C内联汇编
0、常用指令0-1、GNU汇编语法:label:instruction @commentlabel:标号,表示地址位置,有的指令前面有标号,通过标号来定位指令位置。也可以用来表示数据地址,任何以:开头的标号都是数据地址。instruction:指令,表示一条指令。也可以是伪指令。@comment:注释,表示对指令的说明。
用户可以使用.section指令来自定义一个段,汇编系统自定义了一些段名字。.text:定义一个代码段。.data:定义一个初始化的数据段。.bss:定义一个未初始化的数据段。.redata:定义一个只读的只读数据段。
程序默认入口__start,也可以使用链接脚本中ENTRY指令指定程序入口。
123.global __start__start: b main
.global:全局指令,表示定义一个全局标号。相当于C语言中的extern,全局变量.byte:定义一个字节,相当于C语言中的char。.short:定义一个字,相当于C语言中的short。.long:定义一个双字,相当于C语言中的int。.equ:定义一个字节,.equ num,0x12 。相当于 ...
linux内核代码规范
缩进:
使用 8 个空格的制表符进行缩进。函数参数和长表达式在续行时也使用 8 个空格的缩进。行长度:
每行最大长度为 80 个字符。大括号:
大括号前换行,符合 Linux 风格。空格:
赋值操作符前后留空格。控制语句(如 if, for, while)前留空格。行尾注释前留两个空格。其他:
不允许短的 if 语句、循环语句、函数和代码块写在一行。字符串字面量允许换行。指针对齐方式为右对齐。以下是调整后的 .clang-format 文件,确保更符合 Linux 内核的代码规范:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566---BasedOnStyle: LLVMIndentWidth: 8 # 通用缩进宽度为8个空格UseTab: Never # 不使用制表符,只使用空格TabWidth: 8 # 制表符宽度为8个空格C ...
通用技术-硬件基础
1、元器件1-1、施密特触发器:
迟滞特性:施密特触发器有两个不同的阈值电压,一个用于从低电平转换到高电平(称为上阈值电压),另一个用于从高电平转换到低电平(称为下阈值电压)。这种迟滞特性使得施密特触发器对输入信号的噪声不敏感。
输入输出关系:当输入电压超过上阈值电压时,输出会跳变到高电平;当输入电压低于下阈值电压时,输出会跳变到低电平。
应用广泛:施密特触发器常用于信号整形、脉冲产生和噪声抑制等场合。施密特触发器在数字电路和模拟电路中都有广泛应用,特别是在需要对不稳定的输入信号进行处理的场景中。如将输入信号进行整形、转化为方波。
1-2、sd卡sd卡是一种广泛使用的存储设备,它基于闪存技术。也就是nand闪存。主要外形有两种,一种是micro sd卡,也就是tf卡,一种是sd卡。下面是两者的区别:卡上标签参数解读:c:写速度等级,u:读速度等级,v:视频的读写速度sd卡和micro sd卡的区别:就是多了一根电源线,sd卡三根电源线,micro sd有两根。
1-2-1、总线类型扩展–扇区和簇的关系定义
扇区(Sector)扇区是磁盘(包括 SD 卡等存储设备)物理结构中的最小可 ...
MDIO接口
MDIO 的核心作用是 以太网 PHY 芯片的管理与配置,是 CPU / 以太网 MAC 与 PHY 芯片之间的 “控制通道”。
一、MDIO 的核心定位MDIO 全称 Media Independent Interface Management Data Input/Output,中文是“介质无关接口管理数据输入/输出”。
它是一套 标准的双线串行总线(一条时钟线 MDC,一条数据线 MDIO)。
专门用于连接 以太网MAC控制器(如内核中的eth0对应的硬件模块)和 PHY芯片(物理层芯片,负责电信号收发)。
核心目的:让CPU/MAC通过这条总线,读取或配置PHY芯片的工作参数,无需直接操作PHY的硬件引脚。
二、MDIO 的主要用途(核心功能)
PHY 芯片识别与枚举
CPU通过MDIO读取PHY芯片内部的“标识寄存器”(如OUI、芯片型号寄存器),确认当前连接的PHY型号。
支持总线上挂多个PHY(通过PHY地址区分,最多32个),内核可通过MDIO枚举所有已连接的PHY。
链路状态监测
实时读取PHY的“状态寄存器”,获取 ...
emmc
emmc 出场默认就几个分区,硬件隔离的比如写uboot,有时候就需要写道mmc dev 0 1 中,设备0 的分区1中。
虽然能切换到MMC设备0的分区1、分区3等,但执行mmc part仍提示Unknown partition table type 0,这说明设备存在底层的分区标识(硬件/固件层面),但没有标准的分区表(如MBR/GPT),所以U-Boot无法识别和列出分区信息。
现象背后的原因解析我们先拆解这个看似矛盾的现象:
能切换到分区#1、#3的原因MMC(尤其是eMMC)设备有硬件分区的概念(区别于我们常说的软件分区),包括:
用户分区(User Area):就是你之前擦除的主存储区域(29 GiB),通常对应partition #0。
启动分区(Boot Partition):分为Boot1、Boot2,用于存储启动镜像,通常对应partition #1、partition #2。
RPMB分区:用于安全数据存储,通常对应partition #3。这些分区是设备出厂时就固化在硬件/固件中的,所以即使你擦除了用户分区的内容,依然能通过mm ...
操作系统
1、操作系统概述操作系统概念:操作系统是系统资源的管理者,是管理计算机硬件与软件资源的计算机程序。提供给用户和其他软件方便易用的接口和环境。最接近硬件的软件。
例子用qq和朋友视频聊天step 1、在文件夹中找到qq安装位置(如d:/qq) — 逐层打开文健夹stpe 2、双击qq.exe — 需要把程序相关数据放入内存step 3、qq正常运行 —- 对应进程被处理机(cpu)处理step 4、qq聊天 — 需要将摄像头分配给进程
补充:执行一个程序前,需要将该程序放入到内存中,才能被cpu处理
作为系统资源的管理者,主要提供以下功能: 1 、处理机管理 2、存储器管理 3、文健管理 4、设备管理作为管理者向用户提供的接口:1、GUI图形管理界面 2、交互式命令接口 3、脱机批处理接口作为管理者向应用软件提供接口: 1、系统调用接口
操作系统作为最接近硬件的层次对硬件机器进行了扩展:将cpu、硬盘、磁盘、内存等硬件资源进行协调配合。实现了很多复杂的功能。
2、操作系统的特征
1、并发微观上交替执行,宏观上同时运行。与并行区别是两个或者多个时间同一时间发生。容易混淆。 ...














