设备中的c语言代码文件,设备树编译器无法识别包含文件的C语法

当设备树编译器遇到包含C语言代码的.dts文件时,可以使用C预处理器cpp进行预处理。通过cpp命令进行预处理,然后用dtc将处理后的文件转换为dtb。尽管在转换过程中可能出现警告,但最终仍能生成目标文件kvim1.dtb。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这不是设备树语法问题,您只需使用c预处理器cpp预处理.dts文件,就可以获得设备树编译器可以按原样消化的文件。

在特定情况下,假设当前目录是内核根目录,则必须使用以下两个命令:

cpp -nostdinc -I include -I arch -undef -x assembler-with-cpp arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts meson-gxl-s905x-khadas-vim.dts.preprocessed

dtc -I dts -O dtb -p 0x1000 meson-gxl-s905x-khadas-vim.dts.preprocessed -o kvim1.dtb

kvim1.dtb: Warning (unit_address_vs_reg): Node /scpi/clocks/scpi_clocks@0 has a unit name, but no reg property

kvim1.dtb: Warning (unit_address_vs_reg): Node /soc/bus@c8100000/pinctrl@14 has a unit name, but no reg property

kvim1.dtb: Warning (unit_address_vs_reg): Node /soc/periphs@c8834000/rng has a reg or ranges property, but no unit name

kvim1.dtb: Warning (unit_address_vs_reg): Node /soc/periphs@c8834000/pinctrl@4b0 has a unit name, but no reg property

kvim1.dtb: Warning (unit_address_vs_reg): Node /soc/periphs@c88

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值