我正在使用自定义嵌入式rtos并通过FIT映像使用uboot启动。 “bootm”与这个.itb容器非常吻合。
我想在Sha签名图片中包含.itb文件升级到我的文件系统。这样uboot(通过脚本)可以升级flash fat文件系统中的文件。 docs文件update_uboot.its给出了我需要的提示:
update@1 {
description = "U-Boot binary";
data = /incbin/("./u-boot.bin");
compression = "none";
type = "firmware";
load = <FFFC0000>;
hash@1 {
algo = "sha1";
};
};
大概这是u-boot的打包二进制升级。我可以使用mkimage生成图像文件。但是我找不到任何方向如何使用它或闪存等等。
通常有一些非常有趣的FIT类型,如“filesystem”,这意味着有一种方法来打包一个完整的文件系统。这非常接近我想要的,但我找不到任何方法从u-boot脚本中提取和刷新文件系统。
我尝试执行“cp $ loadaddr:update @ 1 0x90000000 10”,但cp不会复制itb文件中的数据。从源代码来看,do_mem_cp似乎没有做任何特殊的FIT语法处理。
我正在使用相当新的TI Sitara uboot(u-boot-2016.05 + gitAUTOINC + 2f757e5b2c-g2f757e5b2c),我是否需要修改源代码以实现我的目的?
谢谢,史蒂夫
答案 0 :(得分:1)
您正在寻找imxtract命令来提取内存中FIT图像的一部分。