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

DFU update SD+BL SDK15.0 won't change bootloader start address

Hi, 

I'm using Keil development tool.

The original bootloader start address is 0xE6000 and new bootloader start address is 0xE5000.

When I update to new bootloader, it won't change start address to  0xE5000.

it will top in after bl_activate(), you could see debug message in the below.

<info> app: Valid SD + BL
<info> app: Enter nrf_dfu_sd_bl_continue
<info> app: Enter nrf_bootloader_dfu_sd_continue
<info> app: Updating SD. Old SD ver: 6, New ver: 6
<info> nrf_bootloader_wdt: WDT is not enabled
<info> app: Verifying BL: Addr: 0x000E6000, Src: 0x0004AE7C, Len: 0x0001736C
<info> app: Copying bootloader: Src: 0x0004AE7C, Len: 0x0001736C

I get start address in the below,

>nrfjprog --memrd 0x10001014
0x10001014: 000E6000

If I set two bootloader in the same start address 0xE6000, it can update successfully.

The debug message in the below.

<info> nrf_dfu_settings: Settings OK
<info> app: Valid SD + BL
<info> app: Enter nrf_dfu_sd_bl_continue
<info> app: Enter nrf_bootloader_dfu_sd_continue
<info> app: Updating SD. Old SD ver: 6, New ver: 6
<info> nrf_bootloader_wdt: WDT is not enabled
<info> app: Verifying BL: Addr: 0x000E6000, Src: 0x0004A3C8, Len: 0x00017240
<info> app: Copying bootloader: Src: 0x0004A3C8, Len: 0x00017240

start system reset

<info> app: Valid SD + BL
<info> app: Enter nrf_dfu_sd_bl_continue
<info> app: Enter nrf_bootloader_dfu_sd_continue
<info> nrf_bootloader_wdt: WDT is not enabled
<info> app: Verifying BL: Addr: 0x000E6000, Src: 0x0004A3C8, Len: 0x00017240
<info> app: No bootloader copy needed, bootloader update complete.
<info> app: nrf_dfu_sd_bl_continue finish
<info> app: Enter nrf_dfu_app_is_valid
<info> app: Return false in valid app check

Could any one can help me to figure out, why BL start address won't change.

Related