О лаборатории

Embedded Systems Laboratory — инженерный проект, посвящённый разработке инструментов для создания, сборки и тестирования встроенного ПО. Это не юридическое лицо и не коммерческий продукт.

Что такое лаборатория

Лаборатория — это набор связанных репозиториев и инженерных практик, объединённых общей целью: построить удобный конвейер для разработки embedded-систем. Вместо разрозненных скриптов — модульный SDK, контейнерная система сборки, сервер симуляции и управляющее приложение.

Каждый проект документируется прямо в репозитории: архитектура, конфигурации и сценарии использования описываются рядом с кодом, которому они соответствуют. Этот сайт — публичная часть этой документации.

Основные направления

Embedded firmware

Прошивки для микроконтроллеров на C: периферия, таймеры, UART, конфигурируемые под плату.

Development infrastructure

SDK с тулчейнами, платформенным кодом и YAML-конфигурациями устройств и плат.

Build automation

Удалённая сборка в Docker с воспроизводимым окружением, отчётами и контрольными суммами.

Simulation

Запуск прошивок как виртуальных устройств, моделирование радиоэфира, шин, питания и UART.

Testing

Проверка прошивок в симуляции до работы с реальным железом; задел для модульных тестов.

Hardware / software integration

Согласование кода и плат: распиновка и версии устройств описываются конфигурацией, а не кодом.

Принципы

  • Честность описаний — сайт и документация отражают фактическое состояние кода, включая незавершённые направления;
  • Конфигурации вместо дублирования — платы и версии устройств описываются YAML, исходный код остаётся общим;
  • Воспроизводимые сборки — одинаковое окружение в Docker на любой машине;
  • Документация в коде — архитектурные документы живут рядом с кодом в репозиториях.
Важное уточнение

Лаборатория не имеет юридического лица, сотрудников, клиентов и коммерческих продуктов. Все названия и описания на сайте относятся к техническим проектам и их компонентам.