Операционные системы Mbed и RIOT OS на STM32

Всем привет! Сделал пару небольших видео о том, как начать работать с операционными системами реального времени Mbed OS и RIOT OS на микроконтроллерах STM32. Обе эти операционки поддерживают широкий диапазон чипов  от разных производителей с разными ядрами ARM, но начинаем мы с STM, потому что они, как правило, более доступны к покупке. И та, и другая система  предназначена для быстрой разработки IoT-девайсов и поэтому поддерживает всякие сетевые и беспроводные стеки из коробки.

Первое видео про Nucleo STM32F767 и Mbed. Для начала работы с Mbed даже не надо ничего устанавливать - все необходимые инструменты доступны онлайн, включая большой зоопарк примеров на все случаи жизни. После сборки своего приложения из браузера вы скачиваете готовый бинарный файл прошивки, который затем загружаете в плату. Если всё-таки хочется кодить на локальном компьютере, то можно прикрутить плагин Platformio к VS Code и обеспечить себя локальным тулчейном под WIndows, Mac и Linux. Здесь всё очень просто и казуально, а код получается более элегантным, чем на Arduino, попробуйте!

RIOT OS называют Linux для IoT-девайсов, потому что у неё полностью открытые исходники, и большое сообщество. Реалтайм, мультитрэдинг, модульность... и еще много хороших слов можно сказать про RIOT, при том она она занимает всего от 5 КБ во флэше и от 1,5 КБ в оперативе. Разрабатывать на ней чуть более хардкорно, чем на Mbed, потому что надо скачать исходники себе в Linux и править руками мэйкфайлы. Если вас это не пугает, то вы получите конфетку в виде очень крутой и гибкой системы.

Всем больших успехов в разработке!

Arduino & Pi

1.4K постов20.6K подписчик

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
3
DELETED
Автор поста оценил этот комментарий

Не понимаю смысловой нагрузки этой связки.

Есть Ардуина и она идеально для начинающих, для метеостанций и мелких поделок.

Есть Esp8266, который может быть ардуиной но с wifi, и решить 80% проектов которым нужно простоту первой и wifi, можно сдк поставить и получить более сложное устройство но с быстрым и низкоуровневым кодом.

Есть Esp32 который может больше чем прошлая плата, имеет несколько ядер кучу памяти итд.

дальше идут одноплатные пк типа Rapberry и Orange, которые стоят ничего, а могут в разы больше чем сабжевая плата.

Еще дальше идут всякие Lattepanda с x86 процессорами и gpio.

Совсем в глубине промышленные контроллеры, которые не нуждаются в описании.


Ардуина, есп, оранж, стоят в сравнении с Nucleo - копейки, латтепанда имеет в разы больше вычислительной мощности, и у всего этого есть коммьюнити по размеру близкое к населению китая.


В чем смысл нуклео ? Какую нишу он занимает ?

раскрыть ветку (20)
2
Автор поста оценил этот комментарий
Я не работаю в отделе маркетинга ST Microelectronics, поэтому не могу говорить за них, чем они руководствовались, когда придумывали этот продукт. Со стороны пользователя так: 1) на плату физически надеваются шильды Arduino, коих миллиард, и подключаются они очень однозначно, не надо включать мозг. 2) я не ставлю драйверы, никакой софт, в онлайне как-то делаю приложение и драг-н-дропаю его на плату (выглядит круто). 3) разные камни с разной жирностью, между которыми приложение переносится на раз-два. Можно сделать вывод, что ST озабочены снижением порога входа в их продукты до уровня ардуино, и у них технически это получается. И раз уж мы сравниваем с ардуино, тогда давайте скажем про цену как есть - оригинальные ардуино из Италии стоят не столько, за сколько их китайцы продают на Али.
раскрыть ветку (19)
2
DELETED
Автор поста оценил этот комментарий

1)Про шилды ждал ответа =) на деле полезных шилдов для ардуины почти нет, 3д принтер шилд, cnc шилд, и протатайп с экраном и кнопками. Все остальное юзлесс мусор который можно купить модулями и соединить 3мя проводами.


2) ХЗ какие там все драйверы ставят, воткнул ардуину, они поставились сами с винды, и все, больше ничего делать не надо, кодинг онлайн кстати тоже есть.


3) Есть слабые меги, есть помощнее, есть вроде на арме даже, везде компилится без проблем один и тот же код.


Сравнивать можно со всеми вместе =)

2$ arduino nano

2$ за esp 8266 с wifi

5$ esp32

12$ за orange pi zero

13,37$ за Orange Pi PC H3 c 1гб оперативки, 4мя ядрами cpu, hdmi, итд

28$ за Nucleo


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

раскрыть ветку (18)
2
Автор поста оценил этот комментарий

Вы мне так рассказываете про Ардуино, как будто забыли зайти на ютуб-канал и посмотреть, чем я там занимаюсь :)


Знаете сколько стоит Arduino Nano на официальном сайте? 20 евро. пруф: https://store.arduino.cc/arduino-nano


Всем, что вы перечислили далее, как и многим другим, мне уже удалось попользоваться в разработке. Впечатления разные. Самое яркое: то что за 12$ есть полноценный крутой Линукс ПК - это ложь. ТОП 2: штука за 5$ c настоящим качественным блюпупом, ви-фи, 16-тиканальным АЦП и целым рядом прочих выдающихся характеристик - это ложь.

раскрыть ветку (17)
DELETED
Автор поста оценил этот комментарий

История не знает людей которые покупают ардуины за 20евро, так что говорим о реальных ценах, ибо даже самые отбитые барыги в магазинах продают уну за 5$


"то что за 12$ есть полноценный крутой Линукс ПК - это ложь" что нибудь скажу, что скажу не скажу =)

Где описание проекта ? Проблемы ? решения ?


"штука за 5$ c настоящим качественным блюпупом, ви-фи, 16-тиканальным АЦП и целым рядом прочих выдающихся характеристик - это ложь." опять пернул в воду, никаких доводов.

раскрыть ветку (16)
1
Автор поста оценил этот комментарий

Поехали про ESP32.


Из документации: "The ADC driver API supports ADC1 (8 channels, attached to GPIOs 32 - 39), and ADC2 (10 channels, attached to GPIOs 0, 2, 4, 12 - 15 and 25 - 27). ADC2 is used by the Wi-Fi driver. Therefore the application can only use ADC2 when the Wi-Fi driver has not started"

По факту: ADC2 используется и драйвером BLE тоже (об этом не написано). Когда включаешь BLE, выключаются 10 каналов АЦП.


Как программно отключить BLE после использования? Никак. Функция не реализована. Хорошо, давайте тогда программно сбросим контроллер, чтобы выключился BLE тоже.


Из документации: To perform software reset of the chip, esp_restart() function is provided.

По факту: не работает. Что-то сбрасывается, что-то нет. BLE - нет.

Ладно, давайте через транзистор, подключенный к ножке GPIO дергать питание чипа. Работает. Но BLE при этом включается раз через раз.


Погрешность АЦП: 20%. Опорные напряжения у двух АЦП разные не только друг у друга в рамках одного чипа, но и между двумя разными чипами. Это не только у меня такое, github issues хранит море отзывов.


С меня хватило, дальше я уже не смотрел, но я уверен, что куда ни ткни - косяки везде.


Про Orange.


Мне удалось его разогреть до 105 градусов по Цельсию задачами, которые мне нужны, после чего он тупо выключался. Нет, это не мой кривой код, это утилиты из пакетов, которые я скачал из репозитория Ubuntu.


При не сильно загруженной работе он всё равно горячеват. Да, я в курсе про пассивное и активное охлаждение. Приделывали, стало получше. Но здесь фокус: за него мне надо заплатить деньги, и вот я уже плачу за железку, которая минимально может работать уже не столько, сколько было в рекламе.


Один USB в гнезде и еще 2 на PLS. Сделать переходник с PLS на ещё гнездо - знаем, умеем. Ещё плюс деньги. Куда втыкать HDMI в Orange Zero? Никуда. Есть аналоговое видео - отлично! Надо сделать переходник.... Или купить плату-шильд


Драйверов на супер-пупер графическую систему Mali так и не завезли. В иных приложениях экран показывал мне стабильные 2 (два) FPS.


Насколько это полноценный компьютер за 12$? Без иксов, с охлаждением, с доступом по SSH, может быть... А какую задачу он при этом должен выполнять? (А еще у него файловая система на SD карте улетит в космос через N месяцев эксплуатации). Да, кстати, SD карта, за которую я тоже заплатил...

раскрыть ветку (15)
DELETED
Автор поста оценил этот комментарий

Про есп:

Опять же внешний модуль для STM Будет работать на seral, более медленный, про костылезацию тех модулей говорить ? про настройку ат командами  ?

Ацп говно, что есть то есть, проще внешний и более точный воткнуть, не шилдом =)


Про оранж:

Все оранжи требуют радиаторов это раз

Что за задача такая, которая будет иметь одинаковую производительность на стм и орандже, но при том второй будет греться всеми четырьмя ядрами ?

(минимально оранж может содержать веб сервер + интернет радио без обдува)


Драйверов на супер-пупер графическую систему Mali так и не завезли. В иных приложениях экран показывал мне стабильные 2 (два) FPS.

На чудо стм плате я вижу уже и hdmi и графику и драйверы под нее конечно же =)


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

раскрыть ветку (14)
Автор поста оценил этот комментарий

Все оранжи требуют радиаторов это раз

Что за задача такая, которая будет иметь одинаковую производительность на стм и орандже, но при том второй будет греться всеми четырьмя ядрами ?

(минимально оранж может содержать веб сервер + интернет радио без обдува)

Я не сравниваю СТМ и Орандж, я сравниваю "так называемый нормальный компьютер за 12$" и реально нормальный компьютер

Автор поста оценил этот комментарий

почему wifi для стм по uart? ты из прошлого?
cc3000 по SPI - уже неплохая скорость. используется в спаркфан
wifi через SDIO - скорость под потолок, стм32 с поддержкой SDIO огромное множество.

ну сложно чтоль погуглить, прежде чем писать?
а то - юарт, какие-то АТ-команды... жуть.

раскрыть ветку (12)
DELETED
Автор поста оценил этот комментарий

cc3000 24$ на говносайте

40$ на адафруит


3-4$ за esp8266

раскрыть ветку (10)
Автор поста оценил этот комментарий

Ставьте дома у себя всё что хотите за 3 или 4 доллара. Но пожалуйста, не делайте на этом потом продукты для рынка. Дружеский совет :)

раскрыть ветку (8)
DELETED
Автор поста оценил этот комментарий

я хочу увидеть продукт на Nucleo за 40$, в котором еще модуль wifi за 30$, и все это соперничает с rgb wifi контроллером лент за 8-9$ который так же хорошо работает не зависая месяцами.

раскрыть ветку (7)
Автор поста оценил этот комментарий

речь была не о цене, а о скорости. если хочешь о цене, то ок - гугли вафлю через SDIO.
а есп для меня будут фуфлом до тех пор, пока там не появится DMA. взять ту же задачу с дисплеем, например, ST7735. на простецкой ф103 с ДМА отличный ФПС выходит. на есп - какие-то невнятные потуги. да, и пусть есп в разы быстрее по тактовой, только толку мало.
а если про FSMC и ART поговорить? есп такое и не снилось. уж очень узкая специализация.

Автор поста оценил этот комментарий
Берите CC3220 - Wi-Fi-процессор в том же корпусе, что и основной кортекс
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку