Как стать автором
Обновить

Запускаем “десктопное” ПО на микроконтроллере

Время на прочтение9 мин
Количество просмотров11K
Всего голосов 19: ↑17 и ↓2+15
Комментарии8

Комментарии 8

Статья начиналась по-настоящему интересно, но, увидев внезапное окончание без должной развязки, взгрустнул.

Не знаю точно, почему, но вспомнился мем про «Что будет, если бросить лом в унитаз»: вопрос есть, но ответы на него, скажем, не столь очевидны.

Нет, сомневаться в том, что на MCU реально можно запустить «десктопное» ПО и даже целую ОС можно — прецеденты были. Другой вопрос в том, какова цена запуска «жирного» «десктопного» ПО на микроконтроллера, которые для этого не очень-то и предназначены, в практической плоскости.

Edit:
Почесал голову и понял, что задача сабжа — Embox — реализовать слой абстракции, пригодного для коммуникации прикладного ПО на микроконтроллерах с отличной от таковых в ПК, в классическом понимании; задача статьи — написать, что такой инструмент существует, но лично я ожидал развязку в виде примера компиляции какой-то утилиты и последующего её запуска на микроконтроллере.
Ну практические примеры, в предыдущих статьях (qt, OpenCV, PJSIP). Например анимация на Qt выглядит вполне гладко.

На стенде была платка STM32f7discovery на которую можно было позвонить с андроида. То есть все вполне адекватно.
задача статьи — написать, что такой инструмент существует, но лично я ожидал развязку в виде примера компиляции какой-то утилиты и последующего её запуска на микроконтроллере.

Я уже дал ссылки на наши статьи и видео, вот пошаговые инструкции для того же самого. Все можно воспроизвести самостоятельно. На это и расчет :)
Qt
VoIP телефон
Детектор границ на OpenCV
задача статьи — написать, что такой инструмент существует

Все таки более корректно
Мой доклад являлся своего рода подведением итогов по результатам нескольких наших работ о запуске десктопного ПО (Qt, OpenCV, pjsip).

То есть в докладе и статье, рассматриваются общие нюансы данного процесса, а про проблемы конкретных реализаций, решил не писать в статье (в докладе они были), поскольку уже были написаны в других статьях.
Небольшое дополнение.

Современный «микроконтроллер» часто имеет производительность побольше ПК 90х годов.

Для сравнения — считающийся хорошим ПК 1995 года — процессор 80x486. 100МГц тактовая частота. Памяти 8Мегабайт ОЗУ, винчестер 1Гб.

И современный SoC imx53 — тактовая частота 800МГц, памяти 2Гигабайта ОЗУ. Флеш-гакопитель 4Гб.

Так что «микроконтроллеры» подросли:)
Спасибо за дополнение.
Приблительно это имелось в виду в статье и докладе.
Но приведенный Вами SoC i.mx53, я бы не относил с микроконтроллерам. В его основе ядро ARM Cortex-A, для микроконтроллеров используется Cortex-m ну или Cortex-R. Cortex-A это большое ядро, с внешней памятью (предсказанием переходов, кешем и тд) + в стандатне ARMv7a обязательна виртуальная память, то есть MMU. А я в статье (и докладе) как раз отметил, что это особенности микроконтроллеров.
А в остальном согласен, микроконтроллеры подросли :)
ну ок, возьмём тогда STM32H7 двухядерный, типичный BigLittle с 480Mhz скоростным CortexM7 ядром для обработки видео и возможностью обрабатывать по 4 операции за такт такие как abs(x1-x2) с накоплением в аккумулятор. И вторым CortexM4 который очень быстро умеет обсчитывать протоколы и битовые поля благодаря битбандингу и быстро работать с езернетом. И если алгоритм влазит в DTCM ОЗУ то они оба будут работать побыстрее чем Pentium3 по совокупности всей архитектуры в целом. Да даже с подключением даже самой тормозной SDRAM обычно есть возможно оптимизировать алгоритмы благодоря использованию ручного кеширования в DTCM так что он всё равно не уступит первым пням3.
Это не рост а революция, коренной переворот после которого можно использовать на поярдки больше уже готового для ПК кода чем раньше, благо экраны и мультимедия возможности уже в периферии таких мк есть.
возьмём тогда STM32H7 двухядерный, типичный BigLittle с 480Mhz скоростным CortexM7 ядром

Абсолютно согласен. Данная серия даже упомянута в статье, именно по причине сравнения по производительности с pentium.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий