瑞芯微Rockchip开发者社区
直播中

大红枣

12年用户 630经验值
私信 关注
[问答]

请问在rockchip中如何单独编译生成新的设备树

  下载ProD最新的内核源码,执行make dtbs 报错如下:
  CHK include/generated/timeconst.h
  CHK include/generated/asm-offsets.h
  CALL scripts/checksyscalls.sh
  make[1]: ‘include/generated/vdso-offsets.h’ is up to date.
  CHK scripts/mod/devicetable-offsets.h
  make[2]: *** No rule to make target ‘arch/arm64/boot/dts/rockchip/px30-ad-d6-anx6345.dtb’, needed by ‘__build’。 Stop.
  scripts/Makefile.build:484: recipe for target ‘arch/arm64/boot/dts/rockchip’ failed
  make[1]: *** [arch/arm64/boot/dts/rockchip] Error 2
  arch/arm64/Makefile:127: recipe for target ‘dtbs’ failed
  make: *** [dtbs] Error 2
  在rockchip中无法找到px30-ad-d6-anx6345.dtb的文件,请问如何单独编译生成新的设备树?

回帖(6)

麻酱

2022-4-2 14:16:42
为什么编译toybrick会编译到px30 ?
举报

大红枣

2022-4-2 14:17:25
我也不知道为什么,在Makefile中也没有找到相关信息。
我在kernel目录下进行编译的,使用。/make.sh linux prod 编译内核没问题,但是单独编译设备树,用命令make dtbs就报错了。求解
举报

大红枣

2022-4-2 14:17:48
  而且我在rk3399pro-toybrick-prod-linux.dts中增加了设备节点&spi5 {

  status = “okay”;

  max-freq = 《48000000》; //spi internal clk, don‘t modify

  spi_test@00 {

  compatible = “rockchip,spi_test_bus0_cs0”;

  reg = 《0》; //chip select 0:cs0 1:cs1

  id = 《0》;

  spi-max-frequency = 《24000000》; //spi output clock

  };

  spi_test@01 {

  compatible = “rockchip,spi_test_bus0_cs1”;

  reg = 《1》;

  id = 《1》;

  spi-max-frequency = 《24000000》;

  };

  };

  但是编译内核之后在sys/firmware/devicetree/base中找不到节点。

  SPI的教程文档也不详细,请问是哪里的问题
举报

最强海贼王

2022-4-2 14:18:18
朋友您好,我和您遇到同样的问题,请问您是如何解决的?
举报

大红枣

2022-4-2 14:18:54
你需要在Makefile中将spi-test的驱动添加进去,这样才能编译进内核,在/dev中就可以找到该设备。
举报

zhongnian

2022-4-2 14:19:19
看到在arch/arm64/boot/dts/rockchip里的makefile中有dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ad-d6-anx6345.dtb,但是目录中却没有px30-ad-d6-anx6345.dts这个文件,但是为什么编译内核时候就没有出现问题呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分