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

Change RAM size for SoftDevice

Hi. I'm using nRF51822AC, SDK12.2.0, S130 v2.0.1 as Multi-link central.

My project's RAM setting :

IRAM1 Start : 0x20005040, Size : 0x2FC0 following example code "ble_app_multilink_central". But RAM size for App(0x2FC0 = 12KB around) is too small.

As I know the RAM area 0x20000000~0x20005040 is for 8 connections Soft device.

Q1. Is it possible to reduce the RAM size for SoftDevice? If I reduce the number of connections. I think It makes App's RAM size bigger.

Q2. If possible, How can I set the App's RAM size for each case? for example)

7connections : IRAM1 Start : 0x20005000, Size : 0x3000

6connections : IRAM1 Start : 0x20004FC0, Size : 0x3040

5connections : IRAM1 Start : 0x20004F80, Size : 0x3080 ......

I need your help.

Parents
  • Hi Roger,

    Q1: Yes, it is possible to reduce the RAM requirement of the SoftDevice by reducing the number of concurrent connections.

    Q2: The sd_ble_enable function, which is used to enable the SoftDevice, will return the minimum start address of the application RAM region required by the SoftDevice for the given configuration in the app_ram_base variable. The value of app_ram_base will be printed on the UART/RTT if you have logging enabled. You can also open a debug session, set a breakpoint after the in softdevice_enable(ble_enable_params_t * p_ble_enable_params) function in softdevice_handler.c and examine the value of app_ram_base that way.

    Best regards

    Bjørn

Reply
  • Hi Roger,

    Q1: Yes, it is possible to reduce the RAM requirement of the SoftDevice by reducing the number of concurrent connections.

    Q2: The sd_ble_enable function, which is used to enable the SoftDevice, will return the minimum start address of the application RAM region required by the SoftDevice for the given configuration in the app_ram_base variable. The value of app_ram_base will be printed on the UART/RTT if you have logging enabled. You can also open a debug session, set a breakpoint after the in softdevice_enable(ble_enable_params_t * p_ble_enable_params) function in softdevice_handler.c and examine the value of app_ram_base that way.

    Best regards

    Bjørn

Children
Related