【问题标题】:device tree generation for embedded linux on Zedboard在 Zedboard 上为嵌入式 linux 生成设备树
【发布时间】:2016-10-16 18:40:24
【问题描述】:

我正在开发 ZedBoard(拥有 Xilinx 的 Zync 系列 SoC),并希望为我计划在此 Zedboard 上启动的嵌入式 linux 创建一个设备树。我关注了两个链接

  1. http://xillybus.com/tutorials/device-tree-zynq-1

  2. http://www.wiki.xilinx.com/Build+Device+Tree+Blob

他们都让我了解了设备树。

现在我有两个选择:

  1. 我为 Zedboard 获得了一个预构建的设备树 .dts 文件。那么,我可以直接使用它而不进行任何更改,只在其中添加我需要的驱动程序就可以了吗?

  1. 我是否应该从头开始并生成我自己的设备树 .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


【解决方案1】:

我同意@sawdust 的评论。请找到相同的图示。

我从here的演示文稿中无耻地复制了它。

要回答您的问题,您应该创建自己的“.dts”文件,其中包含所有必要的父文件(即 SOC 特定和需要的)dtsi 文件。并使用 DTC 编译器编译您的“.dts”文件(从 Linux 源代码树中的 linux/scripts/dtc/dtc 或使用“device-tree-compiler”之类的包)。

在大多数情况下,您可以修改现有的设备树文件并重新编译以达到您的目的。对于您的情况,我认为您必须修改此zynq-zed.dts

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2014-04-09
    • 2015-12-03
    相关资源
    最近更新 更多