how to update softdevice bootloader and applicaiton through DFU?

Dear:

     I can upgrade applicaiton ONLY sucessfully through DFU.

    but now, i want to upgrade applicaiton+softdeivce+bootloader to deployed devices.   do you have such documets on this aspect?  thanks!

Best Regards

Benson jiang

  

Parents Reply Children
  • Dear Vidar:

      NRF_DFU_APP_DATA_AREA_SIZE has been set as 12288 as the default in bootloader.

      so i don't know why the device will be become unprovsioned  from provisioned state after DFU.

     

    let me do more explaination:

     Device1:   Mesh 5.0.0  device,its firmware is:

      s132_nrf52_7.2.0_softdevice.hex +    nRF5_SDK_17.0.2 secure bootloader + light_switch_client_v5.0.0.1.hex

     I provisioned this device, then i do an DFU update,  the DFU zip file incluses:

    s132_nrf52_7.2.0_softdevice.hex +    nRF5_SDK_17.0.2 secure bootloader + light_switch_client_v5.0.0.2.hex

     that means i update the applicaiton FW from v5.0.0.1 to v5.0.0.2.

    after DFU, the device still keeps in provisioned state and behavior well.

    Device2:   Mesh 3.1.0  device,its firmware is:

    s132_nrf52_6.1.0_softdevice.hex+   nRF5_SDK_15.2.0 +secure bootloader + light_switch_client_v3.1.0.1.hex

     I provisioned this device, then i do an DFU update,  the DFU zip file incluses:

    s132_nrf52_7.2.0_softdevice.hex +    nRF5_SDK_17.0.2 secure bootloader + light_switch_client_v5.0.0.2.hex

     that means i did an great update, update the the device from a Mesh 3.1.0 based device to a Mesh 5.0.0 based device.

    after DFU, the device will become unprovisioned. 

    in Device2, we will use Applicaiton Area to upgrade the and softdevice bootloader. so i want to know during upgrade the softdevice and bootloader, will it erase the NRF_DFU_APP_DATA_AREA?

     and is it feasible to keep device still in provsioned state we do such a big upgrade?

    thanks a lot!

    Best Regards

    Benson jiang

  • Hi Benson,

    The provisioned data should not become erased as long as it is placed in the reserved app data region. Is it possible to inspect the memory where the provisioning data is kept before and after DFU with a debugger?

    You can use 'nrfjprog --memrd <flash address> --n <number of bytes to read>' to read out the provisioning data.

    Best regards,

    Vidar

Related