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

Bootloader Init packet

Hello,

i use Bootloader from SDK 7.2.0. I have some questions about init packet handling:

  1. The bootloader compare the device type, device revision and softdevices that are valid to be used. The first time i flash the Sofdevice and Bootloader and afterwards over OTA DFU my application. What is the deafault value from the dfu init packet in UICR area? I think all is 0xFF, so i can flash any application.

  2. After the application has been programmed, device type, device revision and softdevices that are valid to be used are set in customer UICR area by bootloader?

  3. When will the device type and device revision set in UICR area? Should I do this myself?

Parents
  • Hallo Frederic,

    1. Device type and device revision is stored at DFU_DEVICE_INFO_BASE address in UICR, please have a look at dfu_init.h. The default value of the device info in UICR are 0xFFFF as defined with DFU_DEVICE_TYPE_EMPTY and DFU_DEVICE_REVISION_EMPTY. Yes, you can flash application with any revision and type if they are 0xFFFF in UICR.

    2. No, the bootloader won't write them after application has been programmed. You would need to write the value of DFU_DEVICE_INFO either manualy using nrfjprog/J-link commander, or implement that in the bootloader code, similar to how we write BOOTLOADER_REGION_START to NRF_UICR_BOOT_START_ADDRESS in bootloader_settings_arm.c

    3. Yes, you would need to do it yourself as in #2.

  • thanks for the explanation :-) Set the Device Type and Revision with nrfjprog works fine :-) The Sofdevice Version is set automatically.

Reply Children
No Data
Related