В режиме отладки проектов примеров из SDK (когда определен макрос DEBUG) инициализация библиотеки SoftDevice может выдавать предупреждения о необходимости поменять настройки оперативной памяти:
SDH:WARNING:sd_ble_enable: RAM start should be adjusted to 0x20002798
SDH:WARNING:RAM size should be adjusted to 0xd868
Во время отладки вызов функции softdevice_enable() подсказывает, сколько памяти RAM требуется для SoftDevice. В показанном выше предупреждающем сообщении указано, что для SoftDevice требуется выделить 10136 (0x2798) байт от начала RAM. Обычно это означает, что памяти для SoftDevice выделено слишком много (иногда может быть и слишком мало). Если памяти выделено слишком много, то есть некоторая область ОЗУ, которая не будет использоваться ни приложением, ни функциями SoftDevice.
В среде разработки Keil настройки памяти делаются через диалог свойств проекта на закладке Target:
В нашем примере для устранения предупреждения настройку IRAM1 надо поменять следующим образом:
Start 0x20002C40 -> 0x20002798 Size 0xD3C0 -> 0xD868
Позже, если Вы добавите в проект больше специфических служб вендора, либо возможно больше связей по радио с другими устройствами, то Softdevice может потребовать большее количество выделенной RAM. Тогда используйте предупреждающие сообщения режима отладки SDK, чтобы соответствующим образом поменять настройки проекта.
[Ссылки]
1. How to adjust BLE RAM Settings? site:nordicsemi.com.
|