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

How to configure memory areas for Bootloader and App on an nrf51822_xxaa?

I need to know where and how much memory to allocate for the S110 Soft Device v8.0.0, the DFU Bootloader, and a firmware app. These all aren't playing nicely together with the device memory.

What I believe/want to be true:

image description

Does the Soft Device really need 8 KiB of RAM?

Bootloader Settings (example from software pack, dfu_dual_bank_ble_s110_pca10028 (nRF51 PCA10028)):

image description

Firmware App Settings:

image description

Problem 1. I run out of space when I go to compile and have to reduce my stack usage to 255 B (see this post). I have no idea whether this is safe, or whether it is likely that I'll overflow the stack. Is the assembly in arm_startup_nrf51.s the linker?

Problem 2. When I try to reduce the IRAM1 Start to 0x20002000 and add 0xC00 to the size field, I get alerts in the mobile app along the lines of Error on Receive Firmware Image Message: Operation Failed). This partially stems from my ignorance to the difference between IRAM1 and IRAM2.

Does anyone have settings that will work well together for the nRF51822_xxAA variant and the new S110 SD - v8.0.0? I'm not sure if it makes a difference, but this is currently using silicon revision 2.

Parents
  • For the bootloader, I was able to use

    IROM1: 0x0003C000, 0x3C00
    IRAM1: 0x20002000, 0x1F80
    IRAM2: 0x20003F80, 0x80, NoInit
    

    I am not sure why the start of IRAM1 is 0x2002C00 in the dfu examples. Maybe someone from Nordic can comment on that.

    Using these settings, I am able to use Master Control Panel v3.8.0.7 to update an application image using the nrf51822_xxAA variant (PCA10001 board).

Reply
  • For the bootloader, I was able to use

    IROM1: 0x0003C000, 0x3C00
    IRAM1: 0x20002000, 0x1F80
    IRAM2: 0x20003F80, 0x80, NoInit
    

    I am not sure why the start of IRAM1 is 0x2002C00 in the dfu examples. Maybe someone from Nordic can comment on that.

    Using these settings, I am able to use Master Control Panel v3.8.0.7 to update an application image using the nrf51822_xxAA variant (PCA10001 board).

Children
Related