【Linux-设备树】设备树
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-----引导内核会对这个文件(结构语法解析),内核起来的时候,一些相应的设备,就可以得到相应的板级硬件信息。