Embox - Linux-возможности на микроконтроллерах без самого Linux
Представьте, что вам нужно запустить Qt, OpenCV или даже Quake3 на обычном STM32. Звучит как фантастика? С Embox это реальность. Эта модульная ОС даёт встраиваемым системам возможности Linux, оставаясь при этом легковесной RTOS.
Что такое Embox и кому он пригодится
Embox — это конфигурируемая операционная система реального времени для ресурсоограниченных устройств. Её главная фишка — возможность использовать популярное Linux-ПО (Qt, OpenCV, PJSIP) на микроконтроллерах типа STM32.
Проект особенно полезен:
- Инженерам встраиваемых систем
- Разработчикам IoT-устройств
- Всем, кому нужно «тяжёлое» ПО на «лёгком» железе
5 причин обратить внимание на Embox
-
Linux-софт без Linux
- Qt, OpenCV, PJSIP, Dropbear (SSH) на STM32
- Поддержка языков: Python, Lua, JavaScript и даже Java
-
Полноценная сетевая стэк
- TCP/IP, HTTP, ARP, NTP — всё, что нужно для IoT
- Реализация через BSD-сокеты
-
Кросс-платформенность
- Поддержка ARM, MIPS, x86, RISC-V и других архитектур
- Работает на STM32, Raspberry Pi, i.MX6
-
POSIX-совместимость
- Знакомый API для тех, кто работал с Linux
- Стандартные утилиты: ls, cat, mount
-
Гибкая конфигурация
- Можно собрать только нужные модули
- Экономия ресурсов на маломощных устройствах
Как это работает технически
Embox использует модульную архитектуру, где каждый компонент (файловая система, сетевой стек, драйвер) подключается по мере необходимости. Вот что особенно интересно:
- Файловые системы: FAT, ext2/3/4
- Сетевые возможности: полный стек TCP/IP
- Графика: поддержка Mesa3D (да, можно Quake3 на STM32F7!)
- Отладка: интеграция с GDB
Практические кейсы
-
VoIP-телефон на STM32F7Discovery На базе PJSIP проект демонстрирует работу SIP-телефона на микроконтроллере.
-
Компьютерное зрение на STM32 OpenCV на плате STM32F769i — реальные примеры обработки изображений.
-
Встроенный веб-сервер С поддержкой SSH-доступа через Dropbear.
Как начать работать с Embox
Установка проста — нужен только кросс-компилятор для целевой платформы. Для тестов можно использовать QEMU:
git clone https://github.com/embox/embox.git
cd embox
./confset x86/qemu
make
sudo ./scripts/qemu/auto_qemu
После запуска вы получите консоль с привычными UNIX-утилитами.
Кому особенно пригодится Embox
- Если вам нужно «тяжёлое» ПО на слабом железе
- Для быстрого прототипирования сложных встраиваемых систем
- Когда важна POSIX-совместимость
- Для образовательных целей (изучение ОС реального времени)
Проект активно развивается, имеет англо- и русскоязычные сообщества в Telegram. Если вы работаете с встраимыми системами, Embox стоит добавить в ваш инструментарий — хотя бы для экспериментов.
Ссылки для изучения:
