无法编译Linux dtb。

5

我正在尝试为BeagleBone Black编译dts文件。我已经从git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git克隆了git存储库,但是出现了以下错误:

  1. for beaglebone black:

    $ dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
    

    Error: am335x-boneblack.dts:10.1-9 syntax error
    FATAL ERROR: Unable to parse input tree

  2. I tried for atmel sam9g20 ek- I get the same error:

    $ dtc -I dts -O dtb -o at91sam9g20ek_2mmc.dtb at91sam9g20ek_2mmc.dts
    

    Error: at91sam9g20ek_2mmc.dts:9.1-9 syntax error
    FATAL ERROR: Unable to parse input tree

但是当我使用主线内核时,它们可以编译。

我也尝试了make ARCH=arm dtbs,但还是出现错误。

请问有人可以指出我的错误吗?


1
你可能需要 cpp,即 C 预处理器。 - sawdust
是的,我也遇到过这个错误。有人可以告诉我,如果我正在为给定驱动程序的 dts 构建 / 编译 dtb,我需要遵循什么步骤(例如将 dts 放置在哪个文件夹中等)... - Raulp
@Raulp,你能否提供一下硬件细节和编译过程的步骤? - Prajosh Premdas
这是BeagleBone Black (ARM)开发板,硬件上连接了一个LED灯通过GPIO引脚。你可以访问以下链接查看我所做的工作-> https://groups.google.com/forum/#!category-topic/beagleboard/support/newbies/beaglebone-black/cLDC6Le0Z4A - Raulp
@dts文件(或板文件)包括dtsi文件(SOC描述符文件),并且还期望基本设备树结构包含(/ dts-v1 /),这是构建所必需的。现在,再次针对基于ARM架构的SOC的dtsi文件包含各种属性,这些属性仅与ARM SOC相关。因此,在构建之前设置环境的要求也是如此。 - a.saurabh
显示剩余4条评论
1个回答

1
使用命令make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs已解决此问题。
CROSS_COMPILE可以使用您选择的编译器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接