Embedded SDK
Модульная инфраструктура разработки прошивок: CMake-тулчейны, CMSIS, STM32 LL и YAML-конфигурации плат и устройств.
Подробнее →Инфраструктура и инструменты для разработки, сборки и симуляции embedded firmware.
Экосистема объединяет пять связанных проектов — от SDK для микроконтроллеров до пользовательского приложения управления симуляциями. Сайт рассказывает о назначении, архитектуре и взаимосвязях этих проектов.
Пять связанных репозиториев образуют инструментальный конвейер: от исходного кода прошивки до запуска и тестирования виртуальных устройств.
Модульная инфраструктура разработки прошивок: CMake-тулчейны, CMSIS, STM32 LL и YAML-конфигурации плат и устройств.
Подробнее →Удалённая сборка firmware в Docker: клиент, WebSocket-сервер и артефакты с контрольными суммами.
Подробнее →Референсная прошивка на STM32F103C8T6: LED, UART-echo и конфигурация платы через compile-time defines.
Подробнее →Сервер симуляции: радиоэфир, шины, питание, UART-мосты и запуск виртуальных узлов прошивки.
Подробнее →Flutter-приложение для управления симуляциями: мониторинг устройств, радио-топология, логи и группы питания.
Подробнее →Типовой сценарий использования экосистемы — от кода до симуляции.
Исходный код прошивки пишется на C. Проект подключает Embedded SDK как submodule и использует YAML-конфигурации плат: периферия (LED, UART) описывается в конфигурации, а не в коде.
Embedded Build System собирает проект локально или удалённо в Docker-контейнере: формируются .elf, .bin, .hex, отчёт о размере секций и контрольные суммы. Для запуска в симуляции проектом предусмотрена host-версия прошивки.
Simulation Coordinator моделирует радиоэфир, шины и питание, а Simulation Application позволяет управлять симуляцией и наблюдать за устройствами в реальном времени. Виртуальным узлом в симуляции выступает host-сборка прошивки (HOST_BUILD): механизм её запуска предусмотрен в проекте, а слой mock-HAL для этой сборки развивается в составе SDK.
Каждый компонент отвечает за свою задачу: SDK — за платформы, Build System — за сборку, Coordinator — за симуляцию, приложение — за управление.
Сборка выполняется в Docker-контейнере, поэтому окружение и инструменты одинаковы на любой машине разработчика.
Платы и версии устройств описываются YAML-файлами. Смена распиновки не требует изменения исходного кода прошивки.
Архитектура и сценарии использования документируются в самих репозиториях — рядом с кодом, которому они соответствуют.
Подробное описание слоёв и потоков данных — на странице «Архитектура».