在linux中,开放固件设备树和扁平设备树有什么区别。如何识别linux内核是使用DT或FDT的哪个设备树。
从这里开始:
Open Firmware是Sun在20世纪80年代末设计的固件接口规范,并移植到许多体系结构中。它指定了一个运行时操作系统客户端接口、一个跨平台设备接口(FCode)、一个用户接口和用于描述机器的设备树布局。
FDT是开放固件,就像DSDT是ACPI。FDT重用Open Firmware已建立的设备树布局。事实上,Linux PowerPC支持使用相同的代码库来支持开放固件和FDT平台。
正如您所看到的,扁平设备树(FDT)是开放固件的一部分。所以基本上";打开固件设备树";以及";扁平设备树";是一样的。
看看drivers/of/base.c。它是在1996年添加的,但它的功能现在用于ARM设备树。所以FDT只是of的一部分。这就是为什么设备树的所有函数都以of_
前缀开头的原因。
如果您需要更多详细信息,下一篇文章可能会很有用:
- 打开固件
- 设备树
来自上发布的同一链接
我看到
Other names for Flattened Device Tree (FDT) are "binary blob" and ".dtb".
dtc (Device Tree Compiler) - converts between the human editable device tree source "dts" format and the compact device tree blob "dtb" representation usable by the kernel or assembler source. dtc is also a dtb decompiler.
设备树是.dts或.dtsi 格式的人类可读源
希望这是更清楚和正确的。
谢谢。