无法编译Linux dtb
我正在尝试为beaglebone black编译dts文件。我已经从这个位置克隆了git存储库git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git 我得到以下错误:无法编译Linux dtb,linux,device-tree,Linux,Device Tree,我正在尝试为beaglebone black编译dts文件。我已经从这个位置克隆了git存储库git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git 我得到以下错误: 对于beaglebone black: $ dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts 错误:am335x boneblack.dts:10.1-9语法错误 致命错误:无法分析输入树 我尝试了at
$ dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
错误:am335x boneblack.dts:10.1-9语法错误致命错误:无法分析输入树
$ 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\u COMPILE=arm linux gnueabi-dtbs
这个问题已经解决了
CROSS_COMPILE可以有您选择的编译器 我已经使用命令make ARCH=arm CROSS_COMPILE=arm linux gnueabi-am335x-boneblack.dtb解决了这个问题。我认为交叉编译器用于dtc编译的某些部分。有人能解释为什么这个方法有用吗?你可能需要CPP,C预处理器。我相信我有CPP和C预处理器,因为我已经开发了很多项目,其中的QT在C++中用于BeaGeBand和Atmel SAM9G20。如果我错了,我该怎么检查呢?试试shell命令
which cpp
或cpp-dumpmachine
which cpp
=>/usr/bin/cpp
和cpp-dumpmachine
i686 linux-gnu
我已经发布了命令的输出。