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

About DFU code start address register between SDK15.3 and SDK16

HI, 

I find that the DFU code start address  regsiter is different between SDK15.3 and SDK16

SDK15.3 

MemorySegment name="uicr_bootloader_start_address" start="0x00000FF8" size="0x4"
MemorySegment name="uicr_mbr_params_page" start="0x00000FFC" size="0x4"

SDK16

MemorySegment name="uicr_bootloader_start_address" start="0x10001014" size="0x4"
MemorySegment name="uicr_mbr_params_page" start="0x10001018" size="0x4"

I want to know how the softdevice get the DFU code start address to start the DFU ?


Parents
  • Hello,

    Actually, prior to SDK15.3.0 (SDK... -> SDK15.2.0) the "uicr_bootloader_start_address" and "uicr_mbr_params_page" was written in UICR (hence the name), which is in 0x10001014/18. In SDK15.3.0 they tried to move it to the MBR (0x00000FF8/FC), but it caused some issues during the development phase for many developers because some IDEs didn't handle this correctly. Hence, it was moved back to the UICR. This is not how the startup procedure in the chip decides whether there is a bootloader or not (I think), but this is how the applications check whether there is a bootloader or not. 

    Despite the changes, the bootloader should always be backwards compatible, so you shouldn't need to worry about this when developing your application/bootloader. 

    Best regards,

    Edvin

Reply
  • Hello,

    Actually, prior to SDK15.3.0 (SDK... -> SDK15.2.0) the "uicr_bootloader_start_address" and "uicr_mbr_params_page" was written in UICR (hence the name), which is in 0x10001014/18. In SDK15.3.0 they tried to move it to the MBR (0x00000FF8/FC), but it caused some issues during the development phase for many developers because some IDEs didn't handle this correctly. Hence, it was moved back to the UICR. This is not how the startup procedure in the chip decides whether there is a bootloader or not (I think), but this is how the applications check whether there is a bootloader or not. 

    Despite the changes, the bootloader should always be backwards compatible, so you shouldn't need to worry about this when developing your application/bootloader. 

    Best regards,

    Edvin

Children
No Data
Related