Linux dts知识( 二 )


make -C kernel/msm-3.18 O=../../out/target/product/msm8953_64/obj/kernel/msm-3.18 ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- KCFLAGS=-mno-android
dtb存储结构
其存储的类型为:
头部
设备树结构块
字符串-设备节点属性键值对
struct fdt_header {uint32_t magic;/* magic word FDT_MAGIC */uint32_t totalsize;/* total size of DT block */uint32_t off_dt_struct;/* offset to structure */uint32_t off_dt_strings;/* offset to strings */uint32_t off_mem_rsvmap;/* offset to memory reserve map */uint32_t version;/* format version */uint32_t last_comp_version;/* last compatible version *//* version 2 fields below */uint32_t boot_cpuid_phys;/* Which physical CPU id we'rebooting on *//* version 3 fields below */uint32_t size_dt_strings;/* size of the strings block *//* version 17 fields below */uint32_t size_dt_struct;/* size of the structure block */}

Linux dts知识

文章插图
dts 包含关系
查找dtb.dts.tmp 结尾的文件
有时发送打开i2c总是打不开,不能生成dtb在文件系统对应的节点
DTBO简介
原来在设置叠加层中关掉了
发现启动卡中有了对应的文件,应该是没有去掉或修改才不生效,解决办法,删除对应的dtbo,或修改对应dtbo源文件再替换
对比生效
生成
=>
也可以通过查状态,来判断实际运行是关闭还是打开(反编译查看dtb查不出来当前是打开还是关闭,因为是运行时被修改了),再搜索是哪里个可疑的文件覆盖了