在linux中,开放式固件设备树和扁平化设备树有什么区别



在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 格式的人类可读源

希望这是更清楚和正确的。

谢谢。

最新更新