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

What is the recommended iROM & iRAM setup for S140 5.0.0-3.alpha?

Hi, this is what I use to use for .s140_nrf52840_5.0.0-1.alpha_softdevice:

image description

This doesn work for 5.0.0-3 alpha, as my app won't even download when using keil, I suppose it's overlapping with the 5.0.0-3 sd device.

And I looked up the migration doc, it's basically the same as 5.0.0-1.alpha.

And if I increase these values, the iROM appear to work with 0x2400 starting address and 0xDF000 size, but the iRAM keeps failing at sd_ble_enable with 0x04 no memory error.

So what is the recoomended config for the lastest S140 device?

Parents
  • ###Settings for IROM1:
    start is where the softdevice ends and application starts
    size is what is left in flash for the application
    start and size should then add up to the size of flash. (The size values below are based on a 1MB (0x100000 bytes) flash size, which is, at the time of writing, the only option for the nRF52840 chip)

                           Start          Size
    s140_5.0.0-1.alpha:    0x21000        0xDF000
    s140_5.0.0-2.alpha:    0x22000        0xDE000
    s140_5.0.0-3.alpha:    0x24000        0xDC000
    

    ###Settings for IRAM1: start is where the softdevice RAM ends and application RAM starts
    size is what is left in RAM for the application
    start and size should then add up to the size of RAM (+ RAM start address which is 0x2000000). (The size values below are based on a 256kB (0x40000 bytes) RAM size, which is, at the time of writing, the only option for the nRF52840 chip)

    To find the RAM usage of the softdevice set a breakpoint in softdevice_enable() in softdevice_handler.c to see the app_ram_base return value after the sd_ble_enable() call. Adjust the IRAM1 settings accordingly.

    When I ran the ble_app_hrs example in SDK13.0.0 with SD 3.alpha, the value of app_ram_base was 0x20002670. Then settings will then be:

    Start            Size
    0x20002670       0x3D990  (0x20002670 + 0x3D990 = 0x20040000)
    
Reply
  • ###Settings for IROM1:
    start is where the softdevice ends and application starts
    size is what is left in flash for the application
    start and size should then add up to the size of flash. (The size values below are based on a 1MB (0x100000 bytes) flash size, which is, at the time of writing, the only option for the nRF52840 chip)

                           Start          Size
    s140_5.0.0-1.alpha:    0x21000        0xDF000
    s140_5.0.0-2.alpha:    0x22000        0xDE000
    s140_5.0.0-3.alpha:    0x24000        0xDC000
    

    ###Settings for IRAM1: start is where the softdevice RAM ends and application RAM starts
    size is what is left in RAM for the application
    start and size should then add up to the size of RAM (+ RAM start address which is 0x2000000). (The size values below are based on a 256kB (0x40000 bytes) RAM size, which is, at the time of writing, the only option for the nRF52840 chip)

    To find the RAM usage of the softdevice set a breakpoint in softdevice_enable() in softdevice_handler.c to see the app_ram_base return value after the sd_ble_enable() call. Adjust the IRAM1 settings accordingly.

    When I ran the ble_app_hrs example in SDK13.0.0 with SD 3.alpha, the value of app_ram_base was 0x20002670. Then settings will then be:

    Start            Size
    0x20002670       0x3D990  (0x20002670 + 0x3D990 = 0x20040000)
    
Children
Related