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

the way of reducing softdevice resource consumption

Hello,

in the new version of sdk (11.0.0) you support s130 only. That means the code contains both peripheral and central implementation. Does it mean that s130 consume more RAM resources than s110 and s120 separately? If so, how to reduce consumption of RAM?

Parents
  • Hi Gerbert,

    RAM usage of the SoftDevice in s130_nrf51_2.0.0-7.alpha is alreay reduced compared with s110_nrf51_8.0.0. Look at linker scripts.

    s110 on SDK 10.0.0:

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x18000, LENGTH = 0x28000
      RAM (rwx) :  ORIGIN = 0x20002000, LENGTH = 0x6000
    }
    

    s130 on SDK 11.0.0-2.alpha:

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x1b000, LENGTH = 0x25000
      RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    }
    

    Although flash usage grew, now we have more RAM. :)

  • Have you ever used these scripts in the real world?

    Why do you suppose the linker scripts of examples are like these?

    $ grep RAM examples/ble_peripheral/*/pca10028/s130/armgcc/*.ld | sed -e 's/.*armgcc\///'
    ble_app_alert_notification_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_ancs_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_beacon_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001860, LENGTH = 0x67a0
    ble_app_bps_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_cscs_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_cts_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_gls_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ...
    
Reply
  • Have you ever used these scripts in the real world?

    Why do you suppose the linker scripts of examples are like these?

    $ grep RAM examples/ble_peripheral/*/pca10028/s130/armgcc/*.ld | sed -e 's/.*armgcc\///'
    ble_app_alert_notification_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_ancs_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_beacon_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001860, LENGTH = 0x67a0
    ble_app_bps_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_cscs_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_cts_c_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ble_app_gls_gcc_nrf51.ld:  RAM (rwx) :  ORIGIN = 0x20001f00, LENGTH = 0x6100
    ...
    
Children
No Data
Related