SoftDevice — это проприетарный бинарный компонент программного обеспечения, разработанный компанией Nordic Semiconductor для управления радиочастотными и сетевыми функциями в микросхемах семейства SoC. Он представляет собой готовый стек протоколов беспроводной связи, реализующий Bluetooth Low Energy (BLE) и в некоторых вариантах также протокол ANT, и выполняется параллельно с пользовательским приложением на одном контроллере. SoftDevice предоставляет набор API для управления связью, конфигурации радио, адресации, связи по уровням протокола и управления энергопотреблением, при этом скрывая детали реализации аппаратной части и обеспечивая предсказуемость поведения радиоподсистемы.
Исторически SoftDevice появился как решение для упрощения разработки беспроводных приложений на SoC Nordic, позволяя разработчикам сосредоточиться на прикладной логике, не встраивая в проект сложные и тонко настроенные компоненты радиостека. SoftDevice поставляется в виде скомпилированного образа прошивки; производитель предоставляет заголовочные файлы и описание API для взаимодействия с ним, тогда как исходный код стека закрыт. Архитектурно он обеспечивает изоляцию критичных для времени работы радиоопераций и координирует доступ к ресурсам микроконтроллера между стеком и приложением.
- Реализация BLE и (в некоторых вариантах) ANT — поддержка ролей центрального и периферийного устройств, GAP/GATT, профилей и служб.
- Бинарный, закрытый компонент — поставляется как готовая прошивка без открытого исходного кода.
- API для взаимодействия — набор интерфейсов для управления соединениями, отправки/приема данных и конфигурации радио.
- Управление энергопотреблением — механизмы для оптимизации потребления в режимах сна и передачи.
- Изоляция и координация ресурсов — обеспечивает детерминированное выполнение критичных задач радиосистемы при совместной работе с приложением.
- Поддержка OTA и обновления — встраиваемые возможности для организации обновления прошивки по беспроводному каналу (в зависимости от версии и конфигурации).
- Совместимость с SDK производителя — интеграция с инструментами разработки, примерами и библиотеками Nordic для облегчения разработки приложений.
- Версионность и ограничения — различные версии SoftDevice ориентированы на конкретные семейства SoC и имеют свои ограничения по функционалу и ресурсам.