自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 设备树(九):平台设备与平台驱动匹配

1、平台设备与平台驱动匹配函数调用关系:2、平台设备与平台驱动匹配过程该过程就像相亲大会,男(dev)女(drv)双方提供自己的身份信息和择偶标准等信息(compatible属性等信息)排队报名入场(注册平台设备和驱动)。红娘(bus)根据男女双方的身份信息和择偶标准为其牵线(match),寻找最合适的对象。

2025-06-09 16:39:17 636

原创 设备树(八):设备节点转化为平台设备

总线设备驱动模型包含平台设备和平台驱动,Linux内核中,一部分平台设备由设备树DTS直接转化而来,无需编写C驱动代码注册平台设备。这样的好处是修改硬件设备后,无需重新编译内核或 .ko 文件,只需要重新编译设备树文件即可。Linux 内核(提示:本文内容基于Linux 5.4.231)将DTB转化为设备节点 device_node 后,继续将设备节点 device_node 转化为平台设备 platform_device,过程大致如下:int id;

2025-06-09 12:00:18 727

原创 设备树(七):DTB转化为设备节点

uboot将DTB文件传递给Linux内核后,内核将其转化为由设备节点构成的树结构。设备树转化为平台设备的过程如下:设备节点结构体:结构体中包含了parent、child和sibling成员,可见内核将DTB文件转化成了树型结构。#endif。

2025-06-07 18:07:30 788

原创 设备树(五):系统中查看设备树信息

设备树(一):Linux引入设备树的背景 [设备树(二):Linux设备树介绍 [设备树(三):设备树源文件(DTS)语法 [设备树(四):设备树目标文件(DTB)结构 [设备树(六):FIT镜像——打包DTB镜像 [设备树(七):DTB转化为设备节点 [设备树(八):设备节点转化为平台设备 [设备树(九):平台设备与平台驱动匹配 [

2025-06-07 16:47:17 329

原创 设备树(四):设备树目标文件(DTB)结构

根据上述描述,Device Tree文件结构如下图所示。dtb文件中最先存放的头信息(struct fdt_header);接着是预留区域,大小为off_dt_struct – sizeof(struct fdt_header),填充的值为0。接着就是节点和属性信息,分别由struct fdt_node_header和struct fdt_property结构体描述。最后是dt_string区域,集中保存所有的属性名。

2025-06-07 11:23:52 885

原创 设备树(三):设备树源文件(DTS)语法

dts-v1/;/dts-v1/表示一个dts设备树文件#include.dts文件可以通过include包含.h文件。.dts文件可以通过include包好.dtsi文件,将公共设备信息包含进来。compatible 属性属性值类型:字符串 或 字符串列表// 字符串类型或者// 字符串列表类型// 字符串类型或者// 字符串列表类型// 字符串类型。

2025-06-06 18:22:28 823

原创 设备树(二):Linux设备树介绍

一、概述二、DTS(Device Tree Source)三、DTC(Device Tree Compiler)四、DTB(Device Tree Blob)五、总结设备树(全称Flattened Device Tree,简称FDT)起源于OpenFirmware(OF),寄托了设计者们Unify Kernel的梦想 ——同一个Image,可以支持多个不同的硬件平台。

2025-06-05 16:14:48 832

原创 设备树(一):Linux引入设备树的背景

最初Linux 内核针对不同的 ARM 开发板需要编写大量的板级支持代码(Board Support Package, BSP),这些代码通常存放于arch/arm/plat-xxx和arch/arm/mach-xxx中。由于板级支持代码,绝大多数只是在描述板级细节,如板上的platform设备、resource、i2c_board_info、spi_board_info 以及各种硬件的platform_data。对于内核来讲,这些内容不过是垃圾。

2025-06-05 15:26:43 422

原创 Panic——典型Panic问题总结

一、Panic 典型问题及总结1.1 典型Panic 类型1.2 Panic 的两种解决方法1.3 Panic问题总结二、推荐一种定位Panic问题的方法1、空指针型Panic发生这种类型的Panic问题时,异常信息中一般给出的非法地址是全0,比如下面举例中的非法地址0x0000000000000000。发生这种问题时,常现于操作的地址类型为普通变量指针和函数指针。下面举例中,异常信息给出的非法地址是0x00000008。这种一般也是操作空指针,只不过该空指针为结构体类型。

2025-05-30 15:49:51 755

原创 Panic——Panic问题原理总结(Armv8)

异常:程序在运行过程中发生意外情况时,cpu跳到一些预先设定好,具有更高执行权限的程序(exception handler)去执行,执行完毕后,返回产生意外现场继续执行。Armv8 中将异常分为4级。EL0:运行普通用户程序,即用户态;EL1:操作系统或者一些特权函数,即内核态;EL2:运行虚拟化扩展的虚拟监控程序(Hypervisor Monitor);EL3:运行安全监控器(Secure Monitor)。1、空指针型Panic。

2025-05-30 15:35:11 953

原创 CPU高——进程持续占用CPU很高

检查网络连接状态使用 netstat -tulnp | grep <进程A> 确认套接字 3 的对端状态。如果对端已关闭,进程应主动关闭套接字,避免无效操作。优化 select 逻辑1) 检查是否误将非阻塞套接字用于 select,导致虚假就绪。2) 添加对 read 返回值的判断:read 返回 0 表示对端关闭,应关闭套接字;返回 -1 且 errno=EAGAIN 时需重试,否则处理错误。利用gdb工具排查使用 gdb 附加到进程,查看进程活动。

2025-05-29 16:40:00 533

原创 以太网(二)PHY、网卡、SWITCH介绍

如下图所示,只有GMAC网卡被注册为eth0,为了实现WAN-LAN的功能,在eth0的基础上划分了eth0.1和eth0.2两个虚拟网卡分别做为LAN和WAN。当接收时,GMAC收到带有vlan头的数据包并上送,系统会根据数据包中不同的vlan id区分LAN和WAN,vlan 1的数据包会剥除vlan头送到LAN,vlan 2的数据包会剥除vlan头送到WAN。当发送时,系统发送的普通数据包在经过虚拟网卡eth0.1和eth0.2后也会带上vlan tag,发送到switch的cpu port。

2023-07-05 10:26:21 12512 1

原创 内核sysrq魔术键

SysRq支持的所有功能列表及相应的handler见drivers/tty/sysrq.c中静态数组sysrq_key_table[]的定义,当然,也可以通过下面提到的SysRq的help信息了解到。syslog中记录的日志应该是最完整的,然而由于负责记录日志的 syslogd 本身是一个用户进程,在某些情况下可能会被杀掉,从而导致日志记录不下来。提示:此组合键在Xwindows上是无法使用的。组合键按键,即 “sysrq键+命令键” 来触发一个操作,例如 sysrq + t 打印所有任务的状态。

2023-06-30 11:29:33 1208

原创 以太网(一)MAC、MII、PHY 介绍

本文详细介绍了以太网的硬件架构与工作原理,重点解析了CPU、MAC和PHY的三种常见集成方式。其中MAC负责数据链路层的帧处理与CRC校验,PHY实现物理层的信号编解码与冲突检测,二者通过MII接口连接协同工作。文章还对比了不同MAC-PHY接口类型(如RMII、SMII等),并提供了IEEE802.3标准文档和PHY寄存器等扩展资料,为理解以太网底层通信机制提供了完整的技术框架。

2023-06-20 11:58:11 6220 2

原创 内存泄漏——SLUB DEBUG分析内存泄漏

内存泄漏问题一般不能一蹴而就,首先是要在偌大的系统中,缩小发生异常的范围。当可以基于某个小范围着手定位具体的异常位置后,需要想方设法结合模块的功能业务,代码逻辑制定排查方法,一点点寻找。

2023-06-16 11:21:14 3005 2

原创 无线通信技术基础

文章目录1 电磁波基本概念1.1 电磁波的产生1.2 电磁波的传播特点2 电磁波频率特性与频谱2.1 电磁波频率特性2.1 电磁波频谱3 无线通信术语参考文章1 电磁波基本概念1.1 电磁波的产生电荷是电场的源头,静止的电荷产生静止的电场,运动的电荷产生变化的电场。电荷的定向移动产生电流,电流周围存在变化的电场。变化的电场产生磁场,均匀变化的电场会产生稳定的磁场,非均匀变化的电场产生变化的磁场。而变化的磁场又会产生变化的电场,二者在空间交替变化,相互耦合环环相扣,向前传播,就产生了电磁波,电磁波即

2023-04-05 22:19:25 1730 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除