Zephyr应用笔记:关于支持zephyr-v1.11.0版本mcuboot加密编译错误问题

boot采用mcuboot,Github地址:https://github.com/runtimeco/mcuboot

zephyr(version 1.11.0),Github地址:https://github.com/zephyrproject-rtos/zephyr


由于mcuboot和zephyr是两批人维护,所以避免不了会出现版本不同步更新的问题,更新zephyr-v1.11.0版本后,在同步更新mcuboot时,编译mcuboot出现报错(关于加密RSA或者ECDSA均报错,不能编译通过),简单看了下代码,但是受限于本人对python不了解,所以决定暂时先将mcuboot的加密判断去掉(mcuboot编译时去掉加密判断,zephyr镜像编译时也去掉加密判断),具体主要修改的地方如下:

1、mcuboot/samples/zephyr/Makefile 第128行附近将 --key $(SIGNING_KEY) 去掉;

2、mcuboot/boot/bootutil/src/loader.c 第624行附近将 if ((hdr->ih_magic != IMAGE_MAGIC || boot_image_check(hdr, fap) != 0))改为if ((hdr->ih_magic != IMAGE_MAGIC)),也就是将 || boot_image_check(hdr, fap) != 0条件去掉;

通过修改以上两个地方就可以编译出不判断加密的mcuboot用于引导zephyr镜像。


2018年3月21日


找到编译错误问题原因了,不是mcuboot代码有问题,而是缺少依赖,详细原因请见Github:

https://github.com/runtimeco/mcuboot/issues/253

https://github.com/runtimeco/mcuboot/issues/182


2018年3月21日



猜你喜欢

转载自blog.csdn.net/u010018991/article/details/79636715