This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Flashing bootloader and application via J-Link

Hello. I want to make flashing of devices for production faster. So I want to write application together with bootloader via J-Link simultaneously and not via OTA DFU. I'm using S110 v6 and dual bank BLE DFU from SDK 5.1 example. I know that after flashing bootloader and application I just need to compute CRC16 of the DFU bank 0 and write this value to the bootloader settings in the flash, but maybe someone already has a solution to this problem?

Parents
  • I believe you can accomplish what you want by changing the following line in bootloader_util_arm.c from:

    uint8_t __attribute__((section (".bootloader_settings_sect"))) m_boot_settings[CODE_PAGE_SIZE] __attribute__((used));
    

    To:

    uint8_t  m_boot_settings[CODE_PAGE_SIZE] __attribute__((at(BOOTLOADER_SETTINGS_ADDRESS))) __attribute__((used)) = {BANK_VALID_APP};
    

    Then you can program your merged app and bootloader with nrfjprog without it thinking the application is not valid.

  • Something is strange... I'm using gcc and it seems that it's something with Keil's linker because I have hex like this: /attachment/50b3f5b9a4a01250aa03a626a7216643 And your hex is like this: /attachment/c589a5a67c914868bfc69e9342fd0208 As you can see in bootloader settings address (0x3FC00) I have 0x01 in the beginning and all other data is 0: :020000023000CC ... :10FC000001000000000000000000000000000000F3 But in your hex file you have some garbage in bootloader settings address - 02FF0101FF01FF01FF810000: :020000040003F7 :0CFC000002FF0101FF01FF01FF81000075 I don't know why it is so, I'll try to look more into it.

Reply
  • Something is strange... I'm using gcc and it seems that it's something with Keil's linker because I have hex like this: /attachment/50b3f5b9a4a01250aa03a626a7216643 And your hex is like this: /attachment/c589a5a67c914868bfc69e9342fd0208 As you can see in bootloader settings address (0x3FC00) I have 0x01 in the beginning and all other data is 0: :020000023000CC ... :10FC000001000000000000000000000000000000F3 But in your hex file you have some garbage in bootloader settings address - 02FF0101FF01FF01FF810000: :020000040003F7 :0CFC000002FF0101FF01FF01FF81000075 I don't know why it is so, I'll try to look more into it.

Children
No Data
Related