- 博客(11)
- 收藏
- 关注
原创 设备树(三):设备树源文件(DTS)语法
dts-v1/;/dts-v1/表示一个dts设备树文件#include.dts文件可以通过include包含.h文件。.dts文件可以通过include包好.dtsi文件,将公共设备信息包含进来。compatible 属性属性值类型:字符串 或 字符串列表// 字符串类型或者// 字符串列表类型// 字符串类型或者// 字符串列表类型// 字符串类型。
2025-06-06 18:22:28
591
原创 设备树(二):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
452
原创 设备树(一):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
361
原创 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
737
原创 Panic——Panic问题原理总结(Armv8)
异常:程序在运行过程中发生意外情况时,cpu跳到一些预先设定好,具有更高执行权限的程序(exception handler)去执行,执行完毕后,返回产生意外现场继续执行。Armv8 中将异常分为4级。EL0:运行普通用户程序,即用户态;EL1:操作系统或者一些特权函数,即内核态;EL2:运行虚拟化扩展的虚拟监控程序(Hypervisor Monitor);EL3:运行安全监控器(Secure Monitor)。1、空指针型Panic。
2025-05-30 15:35:11
938
原创 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
527
原创 以太网(二)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
12412
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
1200
原创 以太网(一)MAC、MII、PHY 介绍
本文详细介绍了以太网的硬件架构与工作原理,重点解析了CPU、MAC和PHY的三种常见集成方式。其中MAC负责数据链路层的帧处理与CRC校验,PHY实现物理层的信号编解码与冲突检测,二者通过MII接口连接协同工作。文章还对比了不同MAC-PHY接口类型(如RMII、SMII等),并提供了IEEE802.3标准文档和PHY寄存器等扩展资料,为理解以太网底层通信机制提供了完整的技术框架。
2023-06-20 11:58:11
6052
2
原创 内存泄漏——SLUB DEBUG分析内存泄漏
内存泄漏问题一般不能一蹴而就,首先是要在偌大的系统中,缩小发生异常的范围。当可以基于某个小范围着手定位具体的异常位置后,需要想方设法结合模块的功能业务,代码逻辑制定排查方法,一点点寻找。
2023-06-16 11:21:14
2980
2
原创 无线通信技术基础
文章目录1 电磁波基本概念1.1 电磁波的产生1.2 电磁波的传播特点2 电磁波频率特性与频谱2.1 电磁波频率特性2.1 电磁波频谱3 无线通信术语参考文章1 电磁波基本概念1.1 电磁波的产生电荷是电场的源头,静止的电荷产生静止的电场,运动的电荷产生变化的电场。电荷的定向移动产生电流,电流周围存在变化的电场。变化的电场产生磁场,均匀变化的电场会产生稳定的磁场,非均匀变化的电场产生变化的磁场。而变化的磁场又会产生变化的电场,二者在空间交替变化,相互耦合环环相扣,向前传播,就产生了电磁波,电磁波即
2023-04-05 22:19:25
1718
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人