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

Компания Embox временно не ведёт блог на Хабре

Сначала показывать

Сохраняем настройки и лог файл во внутренней памяти микроконтроллера

Время на прочтение 15 мин
Количество просмотров 7.3K
image Задача сохранения настроек встречается в подавляющем большинстве современных устройств. Реже, но тоже очень часто, требуется хранение лог-файлов. Если речь идет о большом устройстве построенном на Линукс и содержащей как минимум SD карту, то с этими задачами не возникает проблем. Но если все устройство представляет из себя микроконтроллер, то возникает вопрос, где и в каком виде хранить подобные данные. В этом случае, обычно для настроек предлагают использовать сырые данные размещенные во внешнем eeprom. Но такой подход гораздо менее удобен чем вариант с файловой системой пусть даже с сильно ограниченными свойствами. Кроме того он плохо подходит для задач логирования. В данной статье мы расскажем как можно организовать удобное хранение файлов настроек и лог-файлов во внутренней флеш памяти микроконтроллера.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 12

Путешествие Embox на Baikal

Время на прочтение 5 мин
Количество просмотров 3.8K


Всем привет.

Многие знают, что мы в проекте Embox любим портироваться на отечественные платформы. Статьи об этом можно посмотреть у нас в блоге. Например, Embox уже успешно восходил на Эльбрус. Теперь очередь за еще одним известным географическим названием и по совместимости процессором — Байкалом. У компании Байкал Электроникс есть два процессора (Baikal-M и Baikail-T1), поскольку Embox ориентирован на встроенные системы, начать мы решили с MIPS32 и запустились на Baikal-T1
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 0

Benchmark OpenCV на STM32

Время на прочтение 6 мин
Количество просмотров 5.6K
Сегодня обработка изображений прочно вошла в нашу жизнь. Никого не удивляет распознавание лиц или дорожной разметки. Самой распространенной библиотекой для этих целей на данный момент является OpenCV. На сегодняшний день OpenCV ориентирован прежде всего на большие платформы. И хотя старшие модели современных микроконтроллеров обладают ресурсами сопоставимыми с Pentium II, запуск на них OpenCV все еще является очень редким, даже экзотическим явлением.

Какое-то время назад мы показали, что существует принципиальная возможность использовать OpenCV на STM32 (и других микроконтроллерах подобного класса). Тогда нашей целью было продемонстрировать возможность использования данной библиотеки на подобных аппаратных платформах. Поэтому, хотя мы и получили очень низкую производительность, мы не стали разбираться в ее причинах. На текущий момент мы исправили очевидные недостатки первого решения, что позволило добиться приемлемой производительности. В данной статье приведены результаты замеров производительности для различных примеров использования OpenCV на платформе STM32F7.
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 5

Запуск Qt на STM32. Часть 2. Теперь с псевдо 3d и тачскрином

Время на прочтение 3 мин
Количество просмотров 6.9K
Мы в проекте Embox некоторое время назад запустили Qt на платформе STM32. Примером было приложение moveblocks — анимация с четырьмя синими квадратами, которые перемещаются по экрану. Нам захотелось большего, например, добавить интерактивность, ведь на плате доступен тачскрин. Мы выбрали приложение animatedtiles просто потому, что оно и на компьютере круто смотрится. По нажатию виртуальных кнопок множество иконок плавно перемещаются по экрану, собираясь в различные фигуры. Причем выглядит это вполне как 3d анимация и у нас даже были сомнения, справится ли микроконтроллер с подобной задачей.
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 10

Добавляем modbus в Embox RTOS и используем на STM32 и не только

Время на прочтение 11 мин
Количество просмотров 6K
image
Нас часто спрашивают, чем Embox отличается от других ОС для микроконтроллеров, например, FreeRTOS? Сравнивать проекты между собой, конечно, правильно. Но параметры, по которым порой предлагают сравнение, лично меня повергают в легкое недоумение. Например, сколько нужно памяти для работы Embox? А какое время переключения между задачами? А в Embox поддерживается modbus? В данной статье на примере вопроса про modbus мы хотим показать, что отличием Embox является другой подход к процессу разработки.
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 26

Разрабатываем web-site для микроконтроллера

Время на прочтение 9 мин
Количество просмотров 18K

С приходом в нашу жизнь различного рода умных розеток, лампочек и других подобных устройств, необходимость наличия веб-сайтов на микроконтроллерах стала неоспоримой. А благодаря проекту lwIP (и его младшему брату uIP) подобным функционалом никого не удивишь. Но поскольку lwIP направлен на минимизацию ресурсов, то с точки зрения дизайна, функционала, а также удобства использования и разработки, подобные сайты сильно отстают от тех, к которым мы привыкли. Даже для встроенных систем, сравнить, например, с сайтом для администрирования на самых дешевых роутерах. В данной статье мы попробуем разработать сайт на Линуксе для какого-нибудь умного устройства и запустить его на микроконтроллере.
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 31

Запуск сложных C++ приложений на микроконтроллерах

Время на прочтение 8 мин
Количество просмотров 12K
image Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного программирования. Вместе с тем, многие RTOS накладывают различные ограничения на использование C++. В данной статье мы рассмотрим внутреннюю организацию C++ и выясним причины этих ограничений.
Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Комментарии 14

SIP-телефон c GUI на STM32F7

Время на прочтение 16 мин
Количество просмотров 7.3K
Был один из короновирусных вечеров проводимых мной в самоизоляции. На столе лежала плата STM32F769I-Discovery. Я посмотрел на нее и подумал, ведь это же смартфон. Есть экран c тачскрином 800x480, есть аудио интерфейс, есть сетевой интерфейс, пусть даже и не беспроводной. Все это основано на микроконтроллере, поэтому более надежно с точки зрения температурных режимов. И имеет меньшее потребление. Не хватает только программного обеспечения. Конечно, никакой Android даже близко не встанет на данную плату. И я решил попробовать насколько быстро требуемый для телефона функционал может быть разработан под данную плату на Embox.

Всего голосов 17: ↑16 и ↓1 +15
Комментарии 15

Embox на плате EFM32ZG_STK3200. Как уместить RTOS в 4кБ ОЗУ

Время на прочтение 8 мин
Количество просмотров 4.5K
image
Embox является сильно конфигурируемой RTOS. Основная идея Embox — прозрачный запуск Linux программного обеспечения везде, в том числе и на микроконтроллерах. Из достижений стоит привести OpenCV, Qt, PJSIP, запущенные на микроконтроллерах STM32F7. Конечно, запуск подразумевает, что в данные проекты не вносились изменения и использовались только опции при конфигурации оригинальных проектов и параметры задаваемые в самой конфигурации Embox. Но возникает естественный вопрос насколько Embox позволяет экономить ресурсы по сравнению с тем же Linux? Ведь последний также достаточно хорошо конфигурируется.
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 26

Опыт Embox как менторской организации в программе GSoC2020

Время на прочтение 7 мин
Количество просмотров 697
image Всем привет!

В этом году Embox участвовал в качестве менторской организации в программе GSoC. В статье я бы хотел рассказать об этом, на наш взгляд, очень интересном опыте.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 4

О кэшах в микроконтроллерах ARM

Время на прочтение 10 мин
Количество просмотров 15K
image Привет!

В предыдущей статье мы для ускорения графики на микроконтроллере в Embox применяли процессорный кэш. При этом мы использовали режим «write-through». Тогда мы писали о некоторых преимуществах и недостатках связанных с «write-through» режимом, но это был лишь беглый обзор. В этой статье я, как и обещал, хочу подробней рассмотреть типы кэшей в ARM микроконтроллерах, а также сравнить их. Конечно, все это будет рассмотрено с точки зрения программиста, и вдаваться в детали работы контроллера памяти в данной статье мы не планируем.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Комментарии 6

Разбираемся в особенностях графической подсистемы микроконтроллеров

Время на прочтение 14 мин
Количество просмотров 14K
Привет!

В этой статье я бы хотел рассказать об особенностях реализации графического пользовательского интерфейса с виджетами на микроконтроллере и как при этом иметь и привычный пользовательский интерфейс и приличный FPS. Внимание я хотел бы акцентировать не на какой-то конкретной графической библиотеке, а на общих вещах — память, кэш процессора, dma и так далее. Поскольку я являюсь разработчиком команды Embox, приведенные примеры и эксперименты будут на данной ОС РВ.

Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Комментарии 46

Свободное или отечественное ПО. Стандартное или свободное обучение

Время на прочтение 11 мин
Количество просмотров 3.3K
В начале февраля в Переславль-Залесском прошла пятнадцатая конференция “Свободное программное обеспечение в высшей школе” организованная компанией “Базальт СПО”. В данной статье я хочу поднять несколько вопросов, которые мне показались наиболее важными, а именно, какое ПО лучше: свободное или отечественное, и, что важнее при обучении специалистов в IT области: следование стандартам или развитие самостоятельности.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 6

Lua на STM32

Время на прочтение 4 мин
Количество просмотров 6.3K
Привет!

Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор Lua (cтандартный, не eLua) на STM32. Для демонстрации помигаем светодиодом по сети с помощью библиотеки luasocket, а также немного поработаем с http.

Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 0

Embox RTOS на Raspberry Pi

Время на прочтение 4 мин
Количество просмотров 11K
image Привет!

У нас часто спрашивают есть ли в Embox поддержка Raspberry Pi. Да, есть. Описание как запустить теперь тут. В этой статье я хочу чуть подробней об этом рассказать.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 9

Уменьшение времени отклика при передаче данных по UDP

Время на прочтение 4 мин
Количество просмотров 10K

Привет, Хабр! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пропускная способность, и с ней у GNU/Linux все хорошо. Но когда речь заходит об уменьшении времени на прием/передачу единичного сетевого пакета, могут возникнуть проблемы. В частности, у заказчика была плата DE0-Nano-SoC с Linux, и с помощью этой платы хотелось управлять неким объектом по сети. Топология сети — точка-точка, никаких роутеров и хабов нет. По модели управления время реакции должно быть меньше 100 мкс, а на базе Linux удавалось добиться только 500 мкс.

Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 22

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке

Время на прочтение 15 мин
Количество просмотров 11K
Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран изображение, то есть добиться полноценной работы Embox на данной архитектуре. Дальнейшие исследования, вряд ли можно назвать ознакомлением, хотя конечно, многое осталось не ясно. И сама архитектура имеет много интересных особенностей, которые также на данный момент не изучены. В данной статье речь пойдет об организации виртуальной памяти, затронем PCI, немного поговорим о сетевой карте и коснемся видеокарты на конкретном железе, которое есть у нас.
Всего голосов 28: ↑27 и ↓1 +26
Комментарии 25

XVI конференция разработчиков свободных программ или где взять бесплатных контрибьютеров

Время на прочтение 7 мин
Количество просмотров 1.8K
Недавно в славном городе Калуге проходила XVI конференция разработчиков свободных программ. Конференцию организовывала компания “Базальт-СПО”. Embox, являясь свободным проектом, также выступал на конференции. Я, традиционно, не буду делать обзора всех докладов, а расскажу о тех вопросах, поднятых на конференции, которые были интересны мне лично.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 10

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

Время на прочтение 9 мин
Количество просмотров 11K

Embox принимал участие в IT фестивале TechTrain. Мы как и в первый раз привезли железки и вживую показали наши достижения. О некоторых мы уже писали на хабре, но мало ли кто не поверил :). Были показаны VoIP телефон, Qt и OpenCV, все на базе STM32F7-Discovery. Кроме стенда мы сделали три доклада. Идеи первого про открытый проект я уже описывал на хабре. В данной статье хочу рассказать идеи еще одного нашего доклада, который назывался “Запускаем “десктопное” ПО на микроконтроллерах”. Ну и пользуясь случаем, немного расскажу про свои ощущения о фестивале.
Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Комментарии 8

Как создать open source проект

Время на прочтение 7 мин
Количество просмотров 9.5K
Уже на этой неделе в Санкт-Петербурге пройдет IT-фестиваль TechTrain. Одним из спикеров будет Ричард Столлман. Embox тоже участвует в фестивале, и конечно мы не могли обойти вниманием тему СПО. Поэтому один из наших докладов называется “От студенческой поделки до opensource проекта. Опыт Embox”. Он будет посвящен истории развития Embox как проекта с открытым кодом. В данной статье я хочу поведать об основных идеях, которые по моему мнению влияют на развитие opensource проектов. Статья, как и доклад, основана на личном опыте.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 12