board_fdt_chosen_bootargs(fdt);if (str) {// 设置设备树中的bootargs属性err = fdt_setprop(fdt,...
c.1 fdt_setprop_placeholder // 为新值在DTB中腾出位置 fdt_get_property_w // 得到老值的长度 oldlen fdt_splice_struct_ // 腾空间 fdt_splice_ // 使用memmove移动DTB数据, 移动(newlen-oldlen) fdt_set_size_dt_struct // 修改DTB头部, size_dt_struct fdt_set_off_dt_strings // 修改DTB头部...
fdt_setprop(fdt, nodeoffset, "bootargs", str, strlen(str) + 1); /把"bootargs"设置成设备树的属性 arch_fixup_fdt or (bank = 0; bank < CONFIG_NR_DRAM_BANKS; bank++) { start[bank] = bd->bi_dram[bank].start; size[bank] = bd->bi_dram[bank].size; } //...
err = fdt_setprop(fdt, nodeoffset, "bootargs", str, strlen(str) + 1); if (err < 0) { printf("WARNING: could not set bootargs %s.n", fdt_strerror(err)); return err; } } return fdt_fixup_stdout(fdt, nodeoffset); } 其中board_fdt_chosen_bootargs定义在arch/arm/mach-rockchip/boa...
fdt_setprop_uxx(fdt, nodeoffset,"linux,initrd-start", (uint64_t)initrd_start, is_u64);///< 在 fdt 中加入 initrd-start 信息,以便于 kernel 初始化时可以找到 initramfs.fdt_setprop_uxx(fdt, nodeoffset, "linux,initrd-end", (uint64_t)initrd_end, is_u64);boot_jump_linux(images, flag)...
fdt set <path> <prop> [<val>] AI检测代码解析 a. 根据path找到节点 b. 根据val确定新值长度newlen, 并把val转换为字节流 c. fdt_setprop c.1 fdt_setprop_placeholder // 为新值在DTB中腾出位置 fdt_get_property_w // 得到老值的长度 oldlen ...
err = fdt_setprop(fdt, nodeoffset, "bootargs", str, strlen(str) + 1); if (err < 0) { printf("WARNING: could not set bootargs %s.n", fdt_strerror(err)); return err; } } if (dump) printf("## Merged bootargs: %sn", env_get("bootargs")); return fdt_fixup_stdout(fdt, nod...
ret && info->require_keys) { ret = fdt_setprop_string(keydest, node, "required", info->require_keys); } ... } 签名后的文件结构 前面提到fitImage其实是dtb结构的,其实可以使用dtc命令进行转换。 dtc -I dtb -O dts test.sign.bin > test.sign.bin.its 转换后的内容如下所示: /dts-v1/;...
static inline int fdt_setprop_u32(void *fdt, int nodeoffset, const char *name, uint32_t val) •作用:将属性值设置为一个 32 位整型数值,如果属性值不存在,则新建该属性 •参数: •fdt: 工作 flattened device tree •nodeoffset: 待修改节点的偏移 ...
err = fdt_setprop(fdt, nodeoffset, "bootargs", str, strlen(str) + 1); if (err < 0) { printf("WARNING: could not set bootargs %s.n", fdt_strerror(err)); return err; } } if (dump) printf("## Merged bootargs: %sn", env_get("bootargs")); return fdt_fixup_stdout(fdt, nod...