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日



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章