2

我正在尝试为 beagle bone black (BBB) 编译一个 dtb,我可以从 uboot 传递它并按照我的需要配置所有外围设备。我需要这样做而不是应用覆盖,因为我们正在设计基于 BBB 的板,并且我们希望在启动时配置外围设备。

我用来编译 dtb 的命令如下。 dtc -I dts -@ -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts

为了让 -@ 选项起作用,我按照这里的说明操作:http: //eewiki.net/display/linuxonarm/BeagleBone#BeagleBone-Upgradedistro%22device-tree-compiler%22package

我尝试从多个地方提取设备树源并对其进行编译。

http://git.ti.com/ti-linux-kernel/ti-linux-3-8-y-kernel/trees/master/arch/arm/boot/dts提取时,我可以编译它,但是一旦 uboot 说“正在启动内核...”没有进一步的反应

从 githubdotcom/beagleboard/devicetree-source 提取时,我无法编译。它在“#include”语句中返回语法错误。我试图将这些更改为 /include/ 但“”中的包含失败。如果我将它们修复为包含中断内的绝对内容。

我相信从 TI repo 构建是正确的路径,但我一直无法启动内核。我尝试添加一个“-b 0”选项(dtb 中没有二进制差异)并删除 -@,但文件明显更小(11k 到 -@ 15k 到默认为 29k)并且无法启动。

有什么建议么?

ps 很抱歉 github 链接损坏,我只允许发布 2 个链接

4

1 回答 1

2

事实证明,我使用的 yocto 内核对我编译的 dtb 文件不满意。

替换来自http://beagleboard.org/latest-images的最新 BBB debian 映像中的 dtbs 文件夹中的 am335x-boneblack.dtb导致内核尝试启动然后出现恐慌!好多了。

我在这里找到了源代码树https://github.com/dominicgs/BeagleDancer/tree/master/devicetree并使用我的问题中提到的编译方法和命令dtc -O dtb -o am335x-boneblack.dtb -b对其进行了编译0 -@ am335x-boneblack.dts。这成功启动了 BBB,以便我可以登录。

于 2014-07-03T01:47:17.923 回答