Dear NRF Team:
I successfully updated the firmware (blinky_nrf52840_xxAA_s140_6.1.0) according to the Mesh DFU steps.
However, the second DFU cannot be performed after this firmware update is completed.
I tried to select this updated firmware as the firmware compiled by the example/dfu routine and increased the bank_addr address by a factor of 2.
DFU completed after an hour. But the third DFU could not be performed.
>> 1>, main.c, 206, ----- Bluetooth Mesh DFU Example -----
<t: 4>, main.c, 215, rom_base 26201
<t: 6>, main.c, 216, rom_end 42B08
<t: 8>, main.c, 217, rom_length 1C907
<t: 10>, main.c, 218, bank_addr 86000
<t: 8770>, serial_handler_prov.c, 267, Generating encryption keypair...
But I do not know what rom_base,rom_end and bank_addr mean. How should I modify their values to ensure that they can be cycled?
The mesh DFU supports two modes:
- side-by-side DFU that transfers the new firmware in the background while the application is running and reports to the application when the transfer is done. The application can then flash the new firmware when ready.
- bootloader DFU, in which the application is not running and the bootloader takes care of the transfer. This mode is primarily meant as a fallback mechanism, in case the application malfunctions.
The DFU example included in the nRF SDK for Mesh demonstrates the side-by-side mode DFU.
How can I select bootloader DFU mode?