platformio/platform-nordicnrf52

MCUBOOT image is not built with zephyr CONFIG_BOOTLOADER_MCUBOOT=y

zapta opened this issue · 0 comments

zapta commented

When an nrf52 zephyr project has CONFIG_BOOTLOADER_MCUBOOT=y in it's prj.conf file, the standard (non platformio) zephyr build builds two images, of mcuboot (a 'child image') and of the app respectively as well as a merged image that include both. This is demonstrated by this zephyr nrf52 howto:

https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/device-firmware-update-dfu-with-mcuboot-bootloader

NOTE: to build the Nordic howto, you don't need to deal with the usb_cdc stuff which increase the MCUBOOT's size. Just build as I did using the command

west build -b nrf52dk_nrf52832 --pristine

However, under platformio, only the app is built and the child image of the mcuboot is not. Please make the platformio build of zephyr consistent with zephyr normal build. The MCUBOOT is important but zephyr implementations that allows firmware updates with end user which is an important feature.

The prg.conf I used (similar to the Nordic example above).

CONFIG_GPIO=y
CONFIG_BOOTLOADER_MCUBOOT=y

The platformio.ini I used.

[env:nrf52_dk]
platform = nordicnrf52
board = nrf52_dk
framework = zephyr

Here is a log of a standard non platformio build (based on the Nordic howto for nrf52dk_nrf52832 board) which creates the two images: https://pastebin.com/hTzSDZ4n and here is the list of its files after the build (the generated files are under the blinky/build directory): https://pastebin.com/m2VZJs5p