DTB_OBJS := $(shell find $(obj)/dts/ -name \*.dtb)
时间: 2024-03-05 08:34:28 浏览: 142
这行代码是一个 Makefile 语句,用于查找指定目录下所有以 .dtb 结尾的文件,并将其作为变量 DTB_OBJS 的值。其中,$(shell ...) 是一个 Makefile 函数,用于执行 shell 命令并返回其输出结果。$(obj) 是 Makefile 中的一个变量,表示当前编译目标的输出目录。因此,这行代码的作用是将编译产生的设备树文件的路径保存到 DTB_OBJS 变量中,以便后续使用。
相关问题
Error: arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts:22.13-19 syntax error FATAL ERROR: Unable to parse input tree make[1]: *** [scripts/Makefile.lib:296:arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb] 错误 1 make: *** [Makefile:1277:suniv-f1c100s-licheepi-nano.dtb] 错误 2
这个错误提示说明 suniv-f1c100s-licheepi-nano.dts 设备树源码文件存在语法错误,导致编译失败。根据错误提示,你可以看到具体的错误信息:
```
Error: arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts:22.13-19 syntax error
```
这个错误信息表示在 suniv-f1c100s-licheepi-nano.dts 的第 22 行第 13 列至第 19 列存在语法错误。你需要打开这个文件,找到对应的行,进行修正。
在修正语法错误之后,你可以重新执行 `make dtbs` 命令进行编译。如果还是编译失败,可以再次查看编译输出,找到错误信息进行排查。另外,如果你不确定语法错误的位置,可以尝试使用设备树编辑工具(比如 dtsview 或者 dtc -I dts -O dtb -o /dev/null -q suniv-f1c100s-licheepi-nano.dts)来检查语法错误。
$(obj)/Image-dtb-hdr: $(obj)/Image FORCE echo -n 'UNCOMPRESSED_IMG' > $@ && \ $(call size_append, $(filter-out FORCE,$^)) >> $@
这是一个 Makefile 规则,它指示 Make 工具如何构建目标文件 `$(obj)/Image-dtb-hdr`。该规则依赖于 `$(obj)/Image` 文件,并且在构建目标文件前,先将字符串 `UNCOMPRESSED_IMG` 写入到目标文件中。然后,该规则使用 `size_append` 函数将 `$(filter-out FORCE,$^)` 中除了 `FORCE` 以外的所有依赖文件的大小信息追加到目标文件中。最终生成的 `$(obj)/Image-dtb-hdr` 文件应该是一个包含 `UNCOMPRESSED_IMG` 和文件大小信息的二进制文件。
阅读全文