【发布时间】:2016-10-16 18:40:24
【问题描述】:
我正在开发 ZedBoard(拥有 Xilinx 的 Zync 系列 SoC),并希望为我计划在此 Zedboard 上启动的嵌入式 linux 创建一个设备树。我关注了两个链接
他们都让我了解了设备树。
现在我有两个选择:
- 我为 Zedboard 获得了一个预构建的设备树 .dts 文件。那么,我可以直接使用它而不进行任何更改,只在其中添加我需要的驱动程序就可以了吗?
或
- 我是否应该从头开始并生成我自己的设备树 .dts 文件。 我想问/确认的是:设备树(.dts)文件不是项目特定的,.dts 文件的内容对于特定的板(在我们的例子中是 ZedBoard)是唯一的。所以我可以将一个工作的 .dts 文件(如选项 1)作为我的项目的基本平台,并在这个 .dts 文件中添加我的设备节点(如果它不存在),它会工作吗?
请建议并纠正我。
【问题讨论】:
-
一个“写得很好的” DT 应该包含一个特定于电路板的 .dts 文件,其中包括较低级别的 .dtsi 文件。最底部的 .dtsi 文件(即第一个包含的文件)将用于 SoC 本身,所有非必要和可选外设都已声明但已禁用。所有特定于板的信息都应保留在此 SoC 级 .dtsi 文件中,并在 .dts 本身或高级 .dtsi 文件。这种组织的实用性对于单个电路板并不明显,但如果您有多个电路板设计使用相同的 SoC,那么您可能会看到它的好处。
标签: linux-kernel arm embedded-linux xilinx device-tree