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

Bootloader memory settings for 51822xxAB

Hi, I have problem with settings of memory for bootloader in 51822xxAB. I have bootloader with settings for 51422xxAC, but this chip has bigger memory. It works on nRF51422 DK, but It doesn't work on custom board with nrf51822xxAB. Custom board is functional because other application works. I use SoftDevice 110 within SDK 7.1, bootloader is from SDK7.1 too.

I set this: IROM1 Start:1B800 IRAM1 Start:0x20002000 IRAM1 Size:0x5F80 IRAM2 Start:0x20007F80 IRAM2 Size:0x80

Keil allows flashing but I see in nRFgo Studio, that address value is wrong and bootloader address is 0x3C000.

UPDATE: Bootloader settings: image description

After I have flashed bootloader: image description

UPDATE 30.3.2017: I have used your recomanded settings but without any changes. I see address 0x3c000 in nRFgo Studio.

nrf51822_xxab.hex

And now after new compilation: nrf51822_xxab.hex

Parents
  • Please refer to this thread, it explains how you can change the flash layout for the bootloader.

    Update 30/3

    Everything below 0x20002000 is reserved for the softdevice

    image description

    As a side note, if you change the device type from xxAC to xxAB, ensure that you are including the config headers located in \bootloader\config and \bootloader\config\dfu_dual_bank_ble_pca10028.

  • The key is to update the BOOTLOADER_REGION_START and BOOTLOADER_SETTINGS_ADDRESS defintions as well as the linker options, which you have done already. However, the addresses needs to be page aligned (0x400), so BOOTLOADER_REGION_START should be 0x1C000 or 0x1C400.., and the BOOTLOADER_SETTINGS_ADDRESS must be set to 0x1FC00. In addition, you need to do a full chip erase before you can update the UICR registers. You can do that by clicking the erase button in nrfgo studio.

Reply
  • The key is to update the BOOTLOADER_REGION_START and BOOTLOADER_SETTINGS_ADDRESS defintions as well as the linker options, which you have done already. However, the addresses needs to be page aligned (0x400), so BOOTLOADER_REGION_START should be 0x1C000 or 0x1C400.., and the BOOTLOADER_SETTINGS_ADDRESS must be set to 0x1FC00. In addition, you need to do a full chip erase before you can update the UICR registers. You can do that by clicking the erase button in nrfgo studio.

Children
No Data
Related