设备树英文名字叫做Device tree,用来描述板子硬件信息的,比如开发板上的 CPU有几个核 、每个CPU核主频是多少,IIC、SPI这些外设的寄存器范围是多少,IIC接口下都挂了哪些设备等等。
设备树文件是一种文本格式的文件,方便阅读与修改。
设备树文件后缀为“.dts”,类似于C语言中的“.c文件”;
设备树头文件后缀为“.dtsi”,类似于C语言中的“.h文件”;
因此“.dts”的设备树文件可以引用“.dtsi”的设备树头文件。
DTC是设备树的编译器,将dts编译为“.dtb”文件的工具。
“.dts”的设备树文件经过编译后,就可以生成“.dtb”文件,有点类似C语言中的“.bin文件”。
“.dtb”文件就是我们开发板要使用的,然后在开发板上运行。
设备树编译命令:
dtc -I dts -O dtb -o test.dtb test.dts
“-I”指定输入格式
“-O”指定输出格式
“-o”指定输出文件
设备树节点和属性定义:
[标号:] 节点名字[@unit-address] {
[属性定义]
[子节点名字]
};
设备树反编译命令:
dtc -I dtb -O dts -o test.dts test.dtb
“-I”指定输入格式
“-O”指定输出格式
“-o”指定输出文件
1、防止安装设备树失败,建议重新打开虚拟机,然后再打开终端
2、安装“设备树编译工具”
输入“ls回车”
输入“sudo apt-get install device-tree-compiler回车”,安装设备树编译器;
见下图:
3、了解:
1)、在Ubuntu中,使用VSCode打开文件“stm32mp157d-atk.dts”,设备树文件后缀为“.dts”,类似于C语言中的“.c文件”;
2)、双击“stm32mp157d-atk.dts”,打开这个“设备树文件”;
3)、将stm32mp15xx-edx.dtsi修改为stm32mp157d-atk.dtsi后,点击“文件”,然后点击“保存”,如下图:
4)、在Ubuntu中,使用VSCode打开文件“stm32mp157d-atk.dtsi”
ST官方的STM32MP157开发板将STPMIC1A这个 PMIC芯片挂到了I2C4下。见下图: