设备树概念与实战编写入门
📚 共计 30 章节
01
设备树的前世今生
为什么要有设备树?从板级文件到设备树的演进史,设备树在Linux内核中的角色。
演进史
内核角色
02
设备树基础语法(一)
节点与属性的概念,根节点、子节点、标签(label)的写法。
节点
属性
label
03
设备树基础语法(二)
数据类型(u32、u64、string、phandle、bool、bytestring),#address-cells和#size-cells。
数据类型
address-cells
04
设备树基础语法(三)
reg属性的含义与用法,ranges属性实现地址映射,中断控制器与interrupt-parent。
reg
ranges
中断
05
实战:GPIO控制器
描述GPIO控制器,gpio-controller/#gpio-cells,在设备树中引用GPIO。
GPIO
控制器
06
实战:I2C控制器
描述I2C总线与从设备,clock-frequency属性,reg地址分配。
I2C
clock-frequency
07
实战:SPI控制器
描述SPI总线与片选,spi-max-frequency属性,模式设置。
SPI
片选
08
实战:UART串口
描述串口设备,时钟与波特率配置,流控引脚描述。
UART
波特率
09
实战:MMC/SD卡控制器
描述eMMC/SD卡接口,总线宽度、速度模式、分区描述。
MMC
eMMC
10
实战:LCD/显示控制器
描述显示时序(timing),像素时钟、分辨率、背光控制。
LCD
timing
11
实战:触摸屏
描述I2C/SPI触摸屏,中断引脚,坐标翻转与校准参数。
触摸屏
校准
12
实战:音频编解码器
描述I2S接口,DAI链路,时钟与采样率配置。
音频
I2S
13
实战:网络控制器(以太网)
描述MAC与PHY,phy-handle,mdio总线,mac-address。
以太网
PHY
14
实战:USB控制器
描述EHCI/OHCI/xHCI控制器,usb-mode,vbus-supply。
USB
vbus
15
实战:PWM控制器
描述PWM输出通道,period与duty-cycle,pwm-names。
PWM
duty
16
实战:ADC控制器
描述ADC通道,采样率,参考电压,io-channel-cells。
ADC
采样
17
实战:DMA控制器
描述DMA通道,dma-requests,dma-names,传输方向。
DMA
通道
18
实战:时钟控制器
描述时钟树,clock-output-names,assigned-clocks与assigned-clock-rates。
时钟
assigned
19
实战:电源管理
描述regulator,vin-supply,regulator-min-microvolt,regulator-boot-on。
regulator
电源
20
实战:热管理
描述thermal-zones,cooling-maps,trip点温度设置。
thermal
trip
21
实战:看门狗(Watchdog)
描述WDT设备,timeout-sec,nowayout属性。
WDT
timeout
22
实战:RTC实时时钟
描述RTC设备,中断与电池备份,trickle-resistor-ohms。
RTC
电池
23
实战:NAND Flash
描述NAND控制器,nand-ecc-mode,nand-on-flash-bbt,分区表。
NAND
ECC
24
实战:eMMC分区
描述eMMC的boot分区、RPMB分区、用户分区,partitions节点。
eMMC
分区
25
实战:PCIe控制器
描述PCIe根端口,bus-range,device_type,interrupt-map。
PCIe
中断映射
26
实战:CAN总线控制器
描述CAN控制器,波特率,sample-point,can-transceiver。
CAN
波特率
27
实战:Sensors(传感器)
描述温度、湿度、加速度计等传感器,I2C地址与中断。
传感器
I2C
28
实战:多核CPU拓扑
描述CPU核心,cpu-map,cluster,core,频率与电压域。
CPU
拓扑
29
实战:设备树覆盖(Overlay)
什么是overlay,dtbo文件生成,fragment与target-path。
Overlay
dtbo
30
实战:调试与验证
dtc编译与反编译,dt-validate校验,内核启动log分析,常见错误排查。
dtc
调试
校验