【问题标题】:Unable to compile Linux dtb无法编译 Linux dtb
【发布时间】:2017-01-30 23:08:09
【问题描述】:

我正在尝试为 beaglebone black 编译 dts 文件。我已经从这个位置 git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git 克隆了 git 存储库,我收到以下错误:

  1. 对于比格骨黑:

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

    错误:am335x-boneblack.dts:10.1-9 语法错误
    致命错误:无法解析输入树

  2. 我尝试了 atmel sam9g20 ek- 我得到了同样的错误:

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

    错误:at91sam9g20ek_2mmc.dts:9.1-9 语法错误
    致命错误:无法解析输入树

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

我试过make ARCH=arm dtbs也是一个错误

谁能指出我犯的错误?

【问题讨论】:

  • 我已经使用命令 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-am335x-boneblack.dtb 修复了这个问题 我认为交叉编译器用于 dtc 编译的某些部分。有人能解释一下为什么会这样吗?
  • 你可能需要 cpp,C 预处理器。
  • 我相信我有 cpp 和 C 预处理器,因为我一直在为 beaglebone 和 Atmel sam9g20 使用 C++ 中的 QT 开发很多项目。如果我错了,我该如何检查?
  • 尝试shell命令which cppcpp -dumpmachine
  • which cpp => /usr/bin/cppcpp -dumpmachine => i686-linux-gnu 我已经发布了命令的输出。

标签: linux device-tree


【解决方案1】:

使用命令make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs这个问题已经修复

CROSS_COMPILE 可以有您选择的编译器。

【讨论】:

    猜你喜欢
    • 2016-11-28
    • 2013-02-22
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2020-04-10
    相关资源
    最近更新 更多