Datasheet
thread stack, malloc() etc. The size, based on the variables shown below, is Y = 64 - 12.5 - X - 2 ( KB ), where
12.5KB will vary depending on the SoftDevice used.
Stack Memory: Used by non RTOS thread code, this is mostly for Interrupt Service Routines (ISRs) and
SoftDevice API calls. The current size is 2 KB.
Functions affecting SoftDevice SRAM usage
The Bluefruit nRF52 configNNN() functions set the behavior of SoftDevice, thus determining the total SRAM usage.
These functions must be called before begin().
configUuid128Count() : Defines the number of UUID128 entries that the SoftDevice supports, e.g Bleuart,
BleMidi, or other services and characteristics. Default value is 10.
configAttrTableSize(): The total size of the attribute table, which holds services and characteristics. If your
application needs lots of characteristics you may need to increase this. Default value is 2048 bytes.
configPrphConn(), configPrphBandwidth(): These function set the parameters that determine the bandwidth for
peripheral's connections. configPrphBandwidth() is a convenient helper that calls configPrphConn() with
appropriate parameters.
configCentralConn(), configCentralBandwidth(): These functions set the parameters that determine the
bandwidth for central mode connections. configCentralBandwidth() is a convenient helper that calls
configCentralConn() with appropriate parameters.
begin(): Bluefruit nRF52's begin() function also affects the bandwidth since it takes 2 (optional) parameters. The
first one is the number of concurrent connections for peripheral links (to mobile phones, your computer, etc.), the
second one is the number of central links (to BLE accessories, or another feather52 running in peripheral mode).
The maximum number of concurrent connections for SoftDevice v5.x is 20.
If you run into an error message saying "SoftDevice require more SRAM than provided by linker", try altering
your system config -- for ex. lower bandwidth, fewer connection or a smaller attribute table size. Another
advanced option is to modify the linker script, but this should be done with care and knowledge of what you
are changing.
© Adafruit Industries https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide Page 161 of 175