zynq设备树编译出错--解决

环境:ubuntu16.04
源码:linux-xlnx-xilinx-v2017.4

  1. 错误信息
    $ ./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zed.dts
    Error: ./arch/arm/boot/dts/zynq-zed.dts:15.1-9 syntax error
    FATAL ERROR: Unable to parse input tree
  2. 原因
    根据提示,是zynq-zed.dts这个文件的15行出错。
    将该行修改为 /include/ “zynq-7000.dtsi”
  3. 重新执行命令
    ./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zed.dts
    可以在顶层目录看到生成的 devicetree.dtb 设备树文件
  4. 另一个解决方法:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
    在./arch/arm/boot/dts/目录下会生成zynq-zed.dtb文件,
  5. 两个设备树文件内容是一样的,只是文件名不同。

参考:https://forums.xilinx.com/t5/Embedded-Linux/Device-Tree-Error-unable-to-parse-input-tree/td-p/754945

你可能感兴趣的:(zynq)