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
  • Hello,

    You can update the Softdevice + bootloader + application by creating a combined DFU zip package that contains all three updates as explained in  Getting started with Nordic's Secure DFU bootloader, a step by step guide  . See the "Update softdevice and bootloader" section.

    Best regards,

    Vidar

  • Dear Vidar:

       under your help, now, i can upgrade the softdevice+bootloader+app successfully.

      but i meet a new issue, that is the provision data will be lost during this process, the provisioned device will become unprovisioned device after DFU.

      is there a method to keep the provison data during softdevice+bootloader+app DFU?

      thanks a lot!

    Best Regards

    Benson jiang

  • Dear Benson,

    Is the provisioning data stored in the 'application data' section, and is this area reserved by the NRF_DFU_APP_DATA_AREA_SIZE symbol in your bootloader? If NRF_DFU_APP_DATA_AREA_SIZE is set to '0', the bootloader will be allowed to overwrite the whole area during DFU.

    Best regards,

    Vidar

    https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/lib_bootloader.html 

  • 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

Reply Children
No Data
Related