Dual core with&without bootloader configuration

Hello !

 I would like to configure dual core project for nRF5340&Zephyr what I can use with and without MCUBoot bootloader.

I have taken nrf/samples/nrf5340/multicore as an initial example and able to compile/flash both core by using one line:

$ west build --build-dir ./build . --pristine --board nrf5340dk_nrf5340_cpuapp -- -DBOARD_ROOT=. -DCONF_FILE="prj.conf"

It looks OK for me and I can start to develop actual firmware.

But later  I will need to update both cores via USB_CDC_ACM serial port and mcumgr utility.

How easy it is possible to add desired bootloader configuration in this kind of environment ?

Can entire bootloader add-on be configured via overlay definition , like extra parameter to west -DOVERLAY_CONFIG="nrf5340dk_mcuboot_sr_net.conf" ?

Or some other configurations need to be enabled/disabled in the current multicore sample?

The next MCU bootloader configuration is expected:

- Both cores need to be updated

- Build environment should generate composite update multiimage.zip file for both cores ( security is no need )

- Serial recovery method is required for both cores. e.g. direct update without usage of extra flash slots and external serial memory.

- To avoid external memory usage, the case when application and network core images can be updated separately is also accepted ( but no idea if external memory is really needed in case of serial recovery and multiimage.zip).

- SMP server is located in MCUBoot only ( no need in application )

- Update is triggered by read state of known GPIO line in MCUBoot

Can this kind of configuration be easily added to the multicore project sample OR it is required a lot of modifications/adding of some other files that extra overlay config ?

Please suggest an optimal procedure for adding a bootloader to any other sample project.

Regards,

Eugene

Parents Reply Children
Related