当前位置: 首页 > news >正文

Linux查看设备树信息

Linux查看设备树信息

一、设备树基础概念

设备树(Device Tree,简称DT)是Linux内核中用于描述硬件配置的一种数据结构,它通过树形结构组织硬件信息,替代了传统内核中硬编码的硬件描述方式。设备树的核心优势在于:

  1. 硬件无关性:同一内核可适配不同硬件平台
  2. 动态配置:无需重新编译内核即可修改硬件参数
  3. 模块化设计:支持设备驱动与硬件描述分离

设备树源文件通常以.dts(源文件)和.dtsi(包含文件)为扩展名,编译后生成.dtb二进制文件,由Bootloader在启动时传递给内核。

二、查看设备树信息的常用方法

1. 通过/proc/device-tree虚拟文件系统

# 查看完整设备树结构(需root权限)
ls -lR /proc/device-tree/# 查看特定节点属性(示例:查看CPU信息)
cat /proc/device-tree/cpus/cpu@0/compatible# 查看内存节点信息
hexdump -C /proc/device-tree/memory/reg -s 4 -n 4  # 显示内存起始地址

2. 使用dtc工具反编译设备树

# 安装dtc工具(Debian/Ubuntu)
sudo apt install device-tree-compiler# 提取当前运行的dtb文件(需root)
cat /proc/device-tree > my_dtb.dtb# 反编译为dts源文件
dtc -I dtb -O dts -o my_dtb.dts my_dtb.dtb# 查看反编译后的文本格式
less my_dtb.dts

3. 通过sysfs获取设备树属性

# 查看所有设备树兼容属性
ls /sys/firmware/devicetree/base/compatible# 查看特定设备的设备树属性(示例:以太网控制器)
ls /sys/firmware/devicetree/base/soc/ethernet@.../# 读取具体属性值
cat /sys/firmware/devicetree/base/soc/ethernet@.../reg

4. 使用fdtdump工具分析

# 安装fdtdump
sudo apt install u-boot-tools# 导出并分析设备树
fdtdump /boot/dtb/$(uname -r)/<your-dtb-file>.dtb > dtb_analysis.txt

三、关键命令详解

1. dtc命令参数详解

dtc --help
# 常用参数:
# -I <input-format>  输入格式(bin/dts/dtb)
# -O <output-format> 输出格式(bin/dts/asm)
# -o <output-file>   指定输出文件
# -p <padding>       指定对齐填充值
# -V <version>       指定设备树版本

2. 设备树节点解析示例

典型设备树节点结构:

/ {compatible = "vendor,board-name";#address-cells = <1>;#size-cells = <1>;memory {reg = <0x80000000 0x20000000>;};soc {compatible = "vendor,soc-name";uart0: serial@101f0000 {compatible = "vendor,uart";reg = <0x101

文章转载自:

http://3h9BAQx8.qkdjq.cn
http://hhlVpM97.qkdjq.cn
http://grSPZrRu.qkdjq.cn
http://2TaiKB5q.qkdjq.cn
http://XKyIzuuz.qkdjq.cn
http://2CxenWQf.qkdjq.cn
http://OwKlPDwI.qkdjq.cn
http://zUDjTooA.qkdjq.cn
http://sJCWQkEy.qkdjq.cn
http://DlhsSisk.qkdjq.cn
http://xXlplLzP.qkdjq.cn
http://nOJbzFlJ.qkdjq.cn
http://jtPqV9h1.qkdjq.cn
http://PtScaoWs.qkdjq.cn
http://GoF9VPmn.qkdjq.cn
http://ls0J1pP5.qkdjq.cn
http://6V8k81KA.qkdjq.cn
http://h0hP2LPb.qkdjq.cn
http://XnlQiUZt.qkdjq.cn
http://bpW51oJu.qkdjq.cn
http://vcvUNyqM.qkdjq.cn
http://NEWpX6bs.qkdjq.cn
http://LpbbUmTn.qkdjq.cn
http://93lKA9Ay.qkdjq.cn
http://Sh0dlG7k.qkdjq.cn
http://QGCQ8UKL.qkdjq.cn
http://GmvZQHc3.qkdjq.cn
http://SbGhmw28.qkdjq.cn
http://tVGzmVHI.qkdjq.cn
http://Qw8U1bsT.qkdjq.cn
http://www.dtcms.com/a/369549.html

相关文章:

  • *MOS 半导体功率器件简介 | 结构 / 制程 / 简史
  • @Autowired注解(二)
  • Linux基础指令(入门必备2.0)
  • 打工人日报#20250905
  • 【Leetcode】高频SQL基础题--610.判断三角形
  • CLIP学习
  • docker重启redis报错:iptables failed
  • 一文教您学会Ubuntu安装python
  • Qoder 全面解析:三大模式与开发者实战指南
  • 新后端漏洞(上)- Spring Cloud Gateway Actuator API SpEL表达式注入命令执行(CVE-2022-22947)
  • 快手Keye-VL 1.5开源128K上下文+0.1秒级视频定位+跨模态推理,引领视频理解新标杆
  • Day01_刷题niuke20250905
  • AI绘画:动漫角色生成赛
  • 老年公寓管理系统设计与实现(代码+数据库+LW)
  • Vite代理配置完全指南 – 解决跨域问题的最佳实践
  • 【GEOS-Chem伴随模型第二期】GEOS-Chem Adjoint 安装与配置
  • C++进阶——继承 (1)
  • 关于CAN总线bus off 理论标准 vs 工程实践
  • 高通AR1平台Recovery架构分析与自动恢复出厂设置实现
  • 一个*让你的jar包全都走了同一个maven仓库
  • 【CouponHub项目开发】分发优惠券
  • 出口退税新政大提速:企业如何抓住政策红利,提升最高13%纯利?
  • ZooKeeper vs Redis:分布式锁的实现与选型指南
  • 载流子寿命
  • nVisual从入门到精通—简介
  • 【STM32外设】DAC
  • SQL 常用 OVER() 窗口函数介绍
  • 【开题答辩全过程】以 在线教育系统为例,包含答辩的问题和答案
  • SQL基础与DDL
  • 嵌入式ARM64 基于RK3588原生SDK添加用户配置选项./build lunch debian