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

SDK 13.0 S132 RAM Size

What is the correct RAM size that should be reserved for S132 v4.0.2 shipped with SDK 13.0?

Looks like linker scripts for different projects reserve different amount of RAM:

  • 0x1fc0 in examples\ble_peripheral\ble_app_gls\pca10040\s132\armgcc\ble_app_gls_gcc_nrf52.ld
  • 0x5768 in examples\peripheral\fpu_fft\pca10056\s140\armgcc\fpu_fft_example_gcc_nrf52.ld
  • 0x25f8 in examples\ble_peripheral\ble_app_uart\pca10040\s132\armgcc\ble_app_uart_gcc_nrf52.ld

Does it depend on the used functionality or is there a generic value that can be used for all new projects?

Parents
  • Hi Ivan,

    the RAM requirement of the SoftDevice is dependent on the configuration you enable it with, e.g. the number of concurrent peripheral/central links, the number of services/characteristics/descriptors(size of the attribute table) and the enabled security features. See this page in the S132 v4.0.2 Product Specification for more information.

    The SoftDevice will return the minimum start address of the application RAM region required by the SoftDevice for the given configuration when you call the sd_ble_enable function to enable the SoftDevice 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 Ivan,

    the RAM requirement of the SoftDevice is dependent on the configuration you enable it with, e.g. the number of concurrent peripheral/central links, the number of services/characteristics/descriptors(size of the attribute table) and the enabled security features. See this page in the S132 v4.0.2 Product Specification for more information.

    The SoftDevice will return the minimum start address of the application RAM region required by the SoftDevice for the given configuration when you call the sd_ble_enable function to enable the SoftDevice 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
No Data
Related