dtbo文件是如何编译生成的?它与dtb文件有什么区别?

重启后,再上传“ 100ask_stm32mp1_i2c1_m4.dtbo”,然后执行以下命令,覆盖设备树。
[root@100ask:~]$ export DTBO_NAME=100ask_stm32mp1_i2c1_m4
[root@100ask:~]$ mkdir -p /sys/kernel/config/device-tree/overlays/$DTBO_NAME
[root@100ask:~]$ cat $DTBO_NAME.dtbo > /sys/kernel/config/device-tree/overlays/$DTBO_NAME/dtbo
[root@100ask:~]$ echo 1 > /sys/kernel/config/device-tree/overlays/$DTBO_NAME/status 

=====================================================

上面说的dtbo文件是如何产生的? 它与dtb文件有什么区别?

 

请先 登录 后评论

2 个回答

hceng

100ASK_STM32MP157_M4_Code\IP_ALLOC\Readme.txt里写了怎么生成DTBO和怎么使用DTBO。

生成部分,如下:

- Generate dtbo(Linux Host):

export HEAD_ERFILE_PATH=~/100ask_sdk/stm32mp157_buildroot_2020.02/output/build/linux-origin_master/include

export DTBO_NAME=100ask_stm32mp1_i2c1_m4

cpp -nostdinc -I $HEAD_ERFILE_PATH -I arch -undef -x assembler-with-cpp $DTBO_NAME.dts dts.pre

dtc -O dtb -o $DTBO_NAME.dtbo -I dts dts.pre && rm dts.pre

请先 登录 后评论
星星之火 - 嵌入式工程师
擅长:答疑助手

dtbo 最后的o是overlay的意思

dtb在内核启动的时候会被加载,有些功能经常改变,或者希望动态加载。那么可以使用dtbo。这个文件不需要像dtb那样在引导的时候就需要准备好,放在预定好的位置。而dtbo是可以后期动态的修改和加载。dtbo可以用在灵活多变的模块中

请先 登录 后评论
  • 2 关注
  • 0 收藏,6165 浏览
  • 仙人指路 提出于 2020-09-01 14:31

相似问题