【Linux-设备树】设备树
阅读原文时间:2023年07月10日阅读:2

Linux3.1之前的版本,对于一般的ARM平台的设备,板级信息一般存放在/arch/arm/mach-**目录下。

设备树对应的文件存放在/arch/arm/boot/dts/***.dts目录下

设备树引入的目的:

避免各个厂商代码的重复,加速linux内核的bsp的开发。编译一个镜像可以支持多个不同设备,只需要编译对应的设备树并打包就可以。

设备树:是一种描述板子硬件信息的数据结构(二进制文件),通过lk(bootloader)加载不同(对应的内核)。

内容:dts源文件----dtc编译生成---dtb文件---可通过给lk启动加载到内核里面去。

源文件:包含信息CPU、总线、串口、物理内存、GPIO、控制器信息等等(类似我们之前的板级信息mach--XX);

基于open firmware衍生来的!

Lk-----引导内核会对这个文件(结构语法解析),内核起来的时候,一些相应的设备,就可以得到相应的板级硬件信息。