This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

DFU without rebooting nRF

Is there a supported way of doing an unsecure flash (the nRF is hardwired via UART to a secure processor) without rebooting? 

The HW design the nRF is integrated with uses the nRF as as the main CPU power sequencer and thus cannot be rebooted to allow DFU update from that CPU.

Parents
  • Hi Honsch, 

    Could you clarify what exactly you need ? How do you receive the image ?
    I assume you receive the new image in your application and want to switch to the new image without trigger a reset ? 

    It's actually possible, but you need to change the vector table forwarding of the softdevice to point to the new image. You can do that by calling sd_softdevice_vector_table_base_set() but your application need to run as it's in bootloader mode (MBR forward interrupt to the bootloader/application instead of the softdevice) 

    Please refere to ble_stack_init() in nrf_dfu_ble.c in our bootloader

  • Hung,

    Yes, we are downloading a new image from a secured internet connection and want to flash the nRF via a hardwired UART connection.

    Thank you for the hint on ble_stack_init().  I'll look in to it.

Reply Children
Related