nRF5340 - Is serial recovery possible at the same time as simultaneous DFU?

Hi,

On nRF5340 with external flash (SDK 3.2.x), is it possible to both support serial recovery enabled for both cores while supporting simultaneous DFU? 

It seems like it isn't, as enabling multi-image DFU with SB_CONFIG_MCUBOOT_NRF53_MULTI_IMAGE_UPDATE will disable NR53_RECOVERY_NETWORK_CORE. 

There is this resource, which refers to a "one image pair mode" for the network core, but I cannot find any documentation on what that means. 

Any references I've found in the DevZone about whether having these 2 features enabled at the same time, seem to be inconclusive.

Thanks

Parents
  • What is your use case?

    The default combination of B0 in the net core and mcuboot in the app core has both cores accessible for serial recovery from a single connection to the main core. And the net core does not have much spare flash space left either when you use a fully featured BTLE radio software stack.

    Software tooling can be a little iffy at first in mcuboot serial recovery mode.

Reply
  • What is your use case?

    The default combination of B0 in the net core and mcuboot in the app core has both cores accessible for serial recovery from a single connection to the main core. And the net core does not have much spare flash space left either when you use a fully featured BTLE radio software stack.

    Software tooling can be a little iffy at first in mcuboot serial recovery mode.

Children
  • Hi,

    The usecase is being able to support DFU in one reset (i.e. upload the appcore and netcore images to appropriate slots, confirm both of them, then reset once so that MCUboot can erase and overwrite both images), while also having the option to do serial recovery if something gets corrupted due to power loss while the erase and overwrite is occurring. Currently able to upload/confirm/reset one core at a time (non-simultaneous DFU), but would like to do update simultaneously instead, without breaking serial recovery, but the build system seems to prevent that.

    Thanks

  • Hi,

    I have put together a test sample based on the peripheral_lbs sample in SDK v3.2.4 and quickly tested it on my desk with a nrf5340 DK. It has been configured to support simultaneous updates of both the application and netcore over BLE from the application, and the same over UART in serial recovery mode. Please have a look at this and try to compare the configurations.

    peripheral_lbs_dfu test project:

    4745.peripheral_lbs_dfu.zip

    I also included the hex and DFU zip package I used in the zip. 

    Hope this helps.

    Best regards,

    Vidar

Related