uC/OS потому не завоевала, что долгие годы была платной. Стоила тысячи долларов. А FreeRTOS тем временем захватывала пространство. В итоге, не так давно, их купила Silabs и сделала бесплатной. Но время было упущено.
Большое спасибо) Было очень интересно послушать ваше сравнение различных RTOS. Про большую часть даже не слышал. На личном опыте несколько раз сталкивался с FreeRTOS и uC-OS, и был ими доволен.
Работал в среде MBED OS и полностью согласен с вашими выводами. Не годится для серьезной работы. С Ардуино опыт минимальный, но мне кажется, что действительно философия у них чем-то близка.
@@Wo_Wang atmel studio сделан из ms vs, так что под линукс ждать не стоит. но компилятор avr-gcc есть под линукс. текстовый редактор на ваш вкус. да и бесплатные среды разработки сейчас у многих есть (MPLAB IDE для pic, STM32CubeIDE для stm32, MCUExpresso для nxp, и все в линукс могут). А еще есть platformIO.
А что интересного вы такого делали что mbed вам не хватило? Специалисты некоторые к примеру даже рекомендуют и говорят что ардуино и рядом не стояла. habr.com/en/post/420435/
По поводу embOS от Segger. Если кто-то хочет воспользоваться, то есть "нехороший" способ использовать её версию, входящую в состав PowerPac для IAR ARM 6.x. Этот PowerPac содержит в себе как саму RTOS, так и библиотеки поддержки USB, FileSystem и пр. Эти дополнительные библиотеки абстрагированы от "железа". Примеры также включены для разных демоплат, которые существовали на тот момент. Достать дистрибутив можно в известной "будке на сахаре" (введите в поиск Яндекса). Ищите там папку "CD-PPARM". Я пробовал запускать простые задачи на BluePill - работает. Ограничения искал и не нашёл (на количество задач, время работы и пр). Единственно, что библиотеки есть только до архитектуры arm7m, поэтому CortexM3 (BluePill STM32F103) поддерживается. Для поделок-самоделок, если пользуетесь IAR ARM, может сойти. IAR IDE имеет поддержку embOS при отладке. Теоретически можно и последними версиями IAR компилировать (собирать получалось), но в связи с переходом на unicode рекомендую ограничиваться IAR ARM 7.8.
Спасибо большое за видео! Я давно заглядываюсь на микроконтроллеры STM, но все останавливает их сложность и слишком большое количество несовместимых проектов, примеров и т.д. По этому пока что "балуюсь ардуинками". Наверное именно слишком большое разнообразие и останавливает в изучении. За что первым браться? Какую ОС использовать? В какой среде разработки писать код??? Мне как новичку-самоучке очень сложно в этом разобраться.
На этом канале очень много видео именно для новичков и в них рассказано как и с чего начать. И Операционная Система вам пока рановато будет, пока обычное программирование не освоите.
@@VladimirMedintsev Спасибо! Обязательно посмотрю. Откладывал STM в долгий ящик, хотя и отладочные платы есть. Пора начинать. Обязательно пересмотрю все ваши видео!
Добрый день, Владимир. Спасибо за проделанную работу. Однако, хочу заметить, что в 12:40 Вы говорите про размер требуемой оперативной памяти в 9кБ для FreeRTOS. Это не совсем корректно. На слайде говорится про program memory footprint, а это размер исполняемого кода, который действительно иногда перемещают в ОЗУ для ускорения, но чаше все таки размещают исключительно во Flash памяти, которой у типового современного контроллера много больше чем ОЗУ.
Эволюция любого программиста микроконтроллеров состоит из этапов: - научиться подрыгать ногой (портом) - запустить на одном контроллере одну задача, положив под нее все такты процессора - запустить несколько задач используя хал, куб, бесплатную ось - выкинуть на свалку все из предыдущего пункта; научиться на прямую работать с регистрами и битами железа, и осуществлять многозадачность на контроллере прерываний Да, кстати, написание программной оси под микроконтроллер, это уровень курсовой для группы студентов из 3 человек. Это является составной частью программы обучения в США. А если серьезно, есть только 2 весомые причины использовать ось на микроконтроллерах: - повторное использование кода - работа над одним проектом нескольких программистов Но вряд ли в этом случае ось окажется на шару
Согласен с автором за uC-OS. Очень приятная, а для меня фича в том, что весьма прозрачный и доступный текст ядра. При необходимости я даже вставлял свои потребности - отлично получалось.
....только периферия вроде USB и UART с ней не работает без micrum-ских платных дров ;))) И в родной, ПОЛНОЙ, халявной!, портированой под все IDE, CMSIS2 - RTOS2 (она же RTX-5) сурсы тоже открыты и куда прозрачней и читабельней. Пзц... ARM такой подарок в CMSIS2 воткнула, а народу не в дамек... Так и работают с полуплатными огрызками.... :/
@@valera_kardan На канале есть видео о передаче управления и есть видео о использовании flash памяти если их скомбинировать, то станет понятно как можно стереть прошивку.
Очередная годнота, благодарствую! Попутно спрошу, может пропустил - а не было ли такого видео, где Вы бы на конкретном примере показали как отлаживаться под FreeRTOS, какие наичастейшие грабли у новичков, на что обратить внимание? Ну вот прям "ембед для первоклассников" - "при зависании - только без паники"?
Есть еще российская Embox, которая намного легче uCLinux, однако тоже позволяет "запускать приложения с внешних носителей". У меня на них подписка в Github и там постоянно и активно вносятся коммиты уже несколько лет подряд, что говорит о её активном развитии. Она, судя по номеру последней версии, еще на стадии разработки. Если в разработке будет девайс, который должен уметь запускать сторонние программы, то стоит присмотреться. Я ее еще ни разу не использовал, но нужно попробовать.
Почему сразу российская? Она все таки свободная и открытая :) позволяет "запускать приложения с внешних носителей" . Ну не совсем с внешних носителей, хотя можно и так сделать конечно. Но идея ипользовать стороннее ПО (готовое), например запустили OpenCV на Stm32F769i (с внутренней флешки) или Qt ( ruclips.net/video/_BpWQCtW02M/видео.html ) уже с внешней, но это не суть, слинковано то статически. Или например графический интерфейс опять же на базе стороннего проекта nuklear (ruclips.net/video/VUN0Hqvytks/видео.html ) судя по номеру последней версии, еще на стадии разработки. - ну современное ПО всегда в процессе разработки. Уже 50 релизов, нумерация меньше 1.0.0 это внутренее состояние команды разработчиков :)
Отсутствие на клавиатуре большинства пользователей греческой буквы μ (мю), мешает поиску примеров в интернете и соответственно продвижению системы μС-OS ))
Какие символы, каких тебе примеров не хватает ? ;) www.micrium.com/downloadcenter/download-results/?searchterm=hm-stmicroelectronics&supported=true Они даже лицензионный IAR дарят для работы с их ОС, вот только разбираться с ней > года! Пока книгу на англ в 5000стр не прочтешь работать с ней без шансов...
@@VladimirMedintsev Если очень много денег есть ;) Тк натыкаешься на их подлую замануха при работе с переферией, а именно. USB куй, UART куй, итп, покупайте UCOSовские дрова под периферию :)))) Попытка использовать сторонние, например STшные дрова вешают ОС
It is a list of Real Time Operation systems that you can use on STM32 microcontrollers. In video description you can found link to download excel file with this list.
Владимир, спасибо за труды. Всегда с удовольствием смотрю ваши видео. Я как самоучка(новичок) начинал на Соосох и SPL и CMSIS Сейчас работаю в VisualStudio + GDB. Вопрос можно ли внедрить (без болезненно) в Cube IDE библиотеки от SPL. дайте совет и направление - стоит ли переходить полностью на HAL и LL.
В riot понравилась почти линуксового вида api и нативная консоль, которую на уарт можно повесить. Было бы класно ещё обозреть прототреды как концепцию и contiki os на их основе. Ещё имел задачи на tirtos/dsp, на ней достаточно интересно устроено вытеснение задач.
В защиту древнего uClinux. Одним из существенных плюсов этой OS является унаследованный POSIX стандарт для API. Вот попробуйте переписать свой код TCP/IP (USB, работу с диском и пр.) с одного стека на другой. Или вот нужен вам PPP для работы с модемом, у кого примеры спрашивать? Дело в том, что для uClinux вполне несложно портировать примеры от Linux, чего для других стеков вы сделать либо не сможете, либо с большим трудом. Т.е. я хочу сказать, что на uClinux вам вполне будут доступны исходники "старших" систем и вы можете писать код в стиле Linux, он даже может собираться на Linux с небольшими правками и тут вы можете использовать модульные тесты, к примеру. Я работал с uClinux, мне в общем понравилось за исключением того, что работа внешних программ осуществляется в блокирующем режиме (общая память для всех). Поскольку POSIX, то документация есть на всё, как и примеры. Мне кажется, что со временем мелкие ОСи отомрут, т.к. камни всё дешевле и можно будет вполне иметь дешевый кристалл с ОЗУ 64 МБайт, где мелкий embedded Linux побьёт всех конкурентов чисто сопровождаемостью.
Про uCOS имею сказать, что он грешит багами. Когда то долго искал багу в ядре для pic32, нашел, но пришлось помучаться. С FreeRTOS такних проблем не замечал
У Вас очень хорошая подача материала. Не думали запилить всеобъемлющий платный курс по STM32? за 20-30тыс он был бы очень востребован. Так чтобы всё в одном месте и железо и программирование. Либо в формате онлайн школы на два семестра. Я может невнимательно смотрел, но подобных предложений как будто бы и нет. Мне такой курс был бы очень интересен, и многим знакомым тоже. Спасибо за ваш труд!
По MbedOS я бы не согласился. Проблем с отладкой никаких нет. Проект можно перенести как в Keil так и в IAR и там использовать все возможности отладки, например с тем же Segger. Компилятор можно использовать в том числе Keil и IAR. Сама операционка построена на Кейловской RTX5. Собственно Кейл и принадлежит АРМу. Система очень удобна для быстрого прототипирования. А при грамотном написании кода портирование с MbedOS на другие платформы не займет много труда. Основной недостаток - это поддержка фиксированных макетных плат (у некоторых даже не в полном объеме). Но в то же время система очень гибкая и позволяет добавить любое железо, хотя справится с этим далеко не новичок. Ну и самое главное, в отличии от своих конкурентов - это операционка написанная на C++, что также упрощает разработку.
Не проблема, со мной не нужно соглашаться, если вам нравится MbedOS, это замечательно. Я в том смысле, что тут нет повода для спора. Нравится - используйте.
По поводу RTOS от Keil, вроде она как свободнораспостраняемая или я ошибаюсь? arm-software.github.io/CMSIS_5/General/html/index.html The CMSIS is provided free of charge by Arm under the Apache 2.0 License. Подобно любой другой лицензии на свободное программное обеспечение, лицензия Apache даёт пользователю право использовать программное обеспечение для любых целей, свободно изменять и распространять изменённые копии, за исключением названия
Владимир, не смог найти у вас на канале, у вас нет видео, где рассматриваются альтернативы микроконтроллерам STM32: МК от TI, NXP и т.д.? Было бы очень интересно взглянуть!
@@VladimirMedintsev Ну вот и я пока тоже выбираю STM32 (на которые пересел с AVR8). Но выбор этот не особо осознанный, т.к. альтернативы я особенно не рассматривал. Когда вливался в экосистему STM32, то был приятно удивлен обилием поддержки (как на форумах, так и на сайте ST), обилием хорошо продуманных и максимально подробно документированных эвалюэйшн бордов (включая полный набор схемной и производственной документации). А еще поразила цена: после покупки Atmela компанией Microchip цены на них взлетели по моим ощущениям раза в два! А у ST МК стоили дешевле и при этом были по всем фронтам лучше. За исключением доступности моделей с EEPROM (с этим у них какая-то беда - есть только в некоторых L-ках). Но может быть и у конкурентов тоже неплохо. Я просто не изучал.
Eeprom вам не нужен. Пишите во флеш свои данные она огромная. Конкуренты. Ну nordic и stm европейцы. Меньше шанс санкций и лучше поддержка т.к. они конкурируют с Америкой. Выбор очевиден
@@VladimirMedintsev Про то, что ST - европейцы я что-то не подумал. Действительно! Важный фактор! По поводу Flash вместо EEPROM - сомнения: во Flash, вроде как можно писать только большими (от 1 кб) блоками и количество циклов перезаписи там примерно на 2-3 порядка меньше.
Стирать можно только страницами а писать хоть побайтно. По ресурсу 100.000 ну блин всем хватает. Тем более никто не заставляет писать в одно и то же место памяти.
Спасибо за обзор. Попадалась ли в поле зрения RTEMS? Если я не ошибаюсь Европейское Космическое Агентсвто любит запускать её в космос (что наверно говорит в пользу надёжности и отлаженности этой системы). Если верить их сайту, есть поддержка некоторых контроллеров STM32.
Как показывает практика в космос не всегда отправляют самое надежное. Отправляют хорошо отработанное и то, что смогут потом хорошо смоделировать на земле.
Странное получилось сравнение. Как мне кажется, не хватает нескольких важных вещей: 1. Наличие собственного HAL. Это важно, потому что хуже и нестабильнее HAL от ST нет, наверное, ничего. 2. Вместо поддержки серий микроконтроллеров можно было указать сферы применения: General, IoT, Safety Critical, Aerospace, Military. Такие параметры сразу дадут понимание, что Zepyr и RIOT - это про IoT. 3. В ChibiOS хорошо бы объяснить, что RT и NIL - это разные вещи. 4. ucOS только недавно стал опенсорсным, поэтому мир и не захватил. Опять же есть 2 версии: 2 и 3. 5. В списке не хватает много чего, но как не указать среди коммерческих лидеров индустрии: VxWorks, LynxOS, Integrity? 6. У FreeRTOS нет сертификатов для Safety Critical или чего-то жестче. Есть SafeRTOS, но это совсем другая система. С сайта FreeRTOS: "SAFERTOS is based on the functional model of the FreeRTOS kernel, however, it is not the FreeRTOS kernel. It has been completely re-designed by a team of functional safety experts at WHIS" 7. FreeRTOS и для industrial не сильно подходит с разрешением кванта времени в 1мс. Или интеррапты (очень "классно" в контексте RTOS) или даже с кан шиной нагруженной работать не получится. Надо проверять новые сообщения каждые 200 мкс. Без танцев с бубном с FreeRTOS такое не сделать. 8. Про отладку что-то совсем магическое расскаpали. Все ядра кортекс имеют общий интерфейс отладки, к RTOS это отношения не имеет. Можете, пожалуйста, пояснить, чем в вашем понимании отладка в FreeRTOS принципиально отличается от того же Mbed?
Еду такой читаю ваш комментарий и радуюсь. Вот думаю специалист пришел с глубоким взглядом. Ну аж приятно стало. А потом прочитал и разочаровался. Ну я лично не понимаю как с одной стороны можно понимать работу операционных систем, а с другой делать вид, что вы не понимаете, что имеется в виду под отладкой. Сильно вам стандартный интерфейс программирования cortex поможет в отладке приоритетов и семафоров? Наверное без специальных утилит и отладочного кода внутри ядра операционной системы не поможет совсем. Ну а в конце вы мне совсем настроение испортили весьма странным заявлением про кванты и прерывания. Я пожалуй оставлю это без комментариев.
@@VladimirMedintsev Если приходится лезть в ядро ОС и отлаживать семафоры и приоритеты, то это какая-то плохая РТОС и скорее всего никаких сертификатов у нее быть не может, разве нет? Я не эксперт в разработке под эмбеды и тем более не эксперт в FreeRTOS, поэтому, возможно, сказал что-то не то. Пожалуйста, поясните в чем соль по пункту 7. И что думаете насчет остальных?
@@OlegBovykin У меня такое впечатление что мы на разных языках говорим. Давайте проще. Есть несколько задач, они имеют разные динамически изменяемые приоритеты. Приоритеты меняются и в зависимости от режима работы и в зависимости от тактовой частоты, которая прямо влияет на энергопотребление. Для того, чтобы это отлаживать в ядре операционной системы есть специальные механизмы, а также разработчики дают утилиты (инструментарий) который позволяет отлаживать алгоритмы приоритезации задач. Это свойство ядра. Ничего писать самому не надо. Без этого нормально отладить очень сложно и главное абсолютно не эффективно. По прерываниям. Их использовать можно и Нужно. Операционная система сама по себе, ваша система прерываний сама по себе. Вы видимо как-то странно воспринимаете кванты времени. Они не имеют никакого отношения к обработке возникающих событий.
@@VladimirMedintsev Как я понимаю, прерывания не дружат с шедулером RTOS и по сути полностью ломают систему переключения между задачами. Потому и конкретный вопрос, как в FreeRTOS сделать получение сообщений по кан шине без прерываний чаще, чем за 1мс (200мкс)?
Пришло письмо о анонсе, цитирую: "Azure RTOS on any STM32". Возможно будет еще одна система "безвоздмезно - тобишь даром" ? Сылку не предоставлю но новость виставлена на блог.ст.ком за 10 декабря
Не планируете обзор TCP\IP стеков? У меня как-то повелось, что во всех проектах использую uIP (уже многократно переписанный под свои нужды), а на lwIP или FreeRTOS+TCP переходить лень. Интересует чужой опыт.
@@VladimirMedintsev Может как-то в сокращённом формате. Мне, например, важно понять как его грамотно усыпить на время ожидания старта очередной задачи, кто его потом разбудит так, чтобы он сразу после пробуждения запустил очередную задачу?
А почему ThreadX не рассматривалась? Правда, на конец октября 2020 пока не лицензирована для бесплатного использования с STM32, но поддержка STM есть и хочется верить, что договорятся.
Стоило упомянуть Apache Mynewt mynewt.apache.org/ Из STM32 поддерживаются семейства F0, F1, F3, F7, L0, L1, L4, WB. Что касается μC/OS, недоумение по поводу малой распространённости такой хорошей ОС объясняется тем фактом, что только в 2020 году её приобрела Silicon Labs и выпустила под открытой лицензией, а до этого она распространялась на коммерческой основе.
Вы издеваетесь? Или это такой тонкий троллинг? Я раз 5 уже давал вам электронную почту. Не один раз вы мне писали по поводу нашего изделия. Т.е. контакты у вас мои есть.
@@bogdanzayatsastronomyandna4722 Да, тут хотел бы, но не поспоришь. Хотя в глубине души, я догадывался, я знал, что пользователи юзающие ОС в МК пробуют на вкус свои поделки! :)
@@Michael_Kaa Мое мнение, что в МК, с процессорами без защищенного режима, ОС это глупость. Но признаю, есть масса примеров, где ОС вполне оправдана, и без защиты памяти, например, стек протоколов TCP/IP, есть масса библиотек, написанных под OC, которые работают, и писать это с нуля без ОС просто глупость. Но ребята STM8, это печально!
Раз разговор про ucos зашел, вот держи :) Книжка по uCos3 , взломанный (перераспознаный) PDF. На микруме блокированная лежит, PDF копипастить не дает, что крайне не удобно, когда какой то кусок перевести хочешь, итп drive.google.com/file/d/1SaMU0lkdGLTev4Tf_yxG555_40yK5tpj/view?usp=sharing В позапрошлом году разбирался с ней, пока не понял, что в ней подлость с USB и UART (работают только с платными библиотеками micrum), вот pdf-ка осталась///
CMSIS RTOS-2, она же RTX5 - ЛУЧШАЯ ! ! ! Полноценная, халявная, РОДНАЯ ARM ОС для кортексов, с открытым кодом. Портирована под все среды Keil, IAR, CubeIDE (GCC) drive.google.com/file/d/1T5uZvcHyhaZgU-D8AuZG9fRplUGCkjUS/view?usp=sharing (пример, один и тот же мой проект c CMSIS RTOS2 открыт в Keil и IAR) +отличная контрольная консоль в KEIL5. И нахрена тогда пользоваться халявными огрызками FreeRTOS, ChibiOS итп... Система халявно встроена в CMSIS2 ! И странно что многие программисты до сих пор не знают об этом подарке от ARM...
CMSIS-RTOS2 - это API. Реализация этого API есть в RTX5 у Keil, и в FreeRTOS у ST. @Ravi TV github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/RTOS2/RTX
Ну как написано и как сказано в видео так и понять. Когда за счёт универсальности и попытки объять необъятное получили плохо контролируемый продукт с низкой надежностью. Не имеющий сертификатов безопасности. Ну всем ведь понятно что с таким перегруженным ядром это творение никто не сертифицирует. А значит и применять можно только в Ардуино и подобных проектах.
@@VladimirMedintsev надо же отличать проф. деятельность и любительское дело. Например мне не зачем сертификаты к слову вообще. Даже никогда не запаривался над ними. Продукты никакие не продаю, делаю чисто ради интереса,то что интересно. На проф. уровень(то есть на работу) по такой специальности никогда не пойду. Ну и явный плюс мбед который я заметил, это те же библиотеки, с которыми не нужно читать тонны даташитов. Ну и естественно готовые библиотеки разнообразных протоколов. Спорить можно долго, но у нас разные взгляды на мк и программирование
Ну вот вы сами и описали mbedos как ардуиноподобной проект. Оставим за кадром тот момент почему радиолюбитель не желает развиваться и достигать чего-то большего. Но спор с вами не имеет смысла. Это видео для тех, кто хочет изучать новое.
Боюсь, что может кто и пробовал, но насильно. Ну какой смысл покупать продукт, который даже пощупать нормально не дают, если есть бесплатные продукты. Кому не хочется FreeRTOS ну есть ThreadX
Ну судя по вопросу вы любитель. Вы можете использовать любую систему которая вам нравится. Для остальных есть стандарты, сертификация, лицензирование и прочее.
@@VladimirMedintsev ну тут же вроде как обзор, таблица приведена, о некоторых что-то рассказано. Насчёт одной вы сказали, что не понятно, почему она не завоевала мир. Я о такой и не знал, я думал, что не понятно отчего Riot не завоевала мир, а вы о ней вообще ничего не сказали. Конечно же мне хотелось бы большего услышать о ней от вас.
Насчет mbed хочется высказаться отдельно. У вас большая аудитория и вы с абсолютной уверенностью приравниваете Mbed к Arduino, при это не приводя ни одного сильного аргумента. 1. Arduino упоминается в негативном ключе, потому что много готовых отладочных плат? Большинство плат на сайте - это отладочные платы вроде Nucleo. Специальных плат под Mbed нет. Чем это плохо? 2. Вы себе противоречите, сначала говорите, что Mbed модульная, а потом ругаете за безопасность из за наличия всяких беспроводных стеков. Можете пояснить связь между безопасностью и модульным подключением беспроводных интерфейсов? 3. Про отладку я написал в другом комментарии. Отладка к RTOS не относится. А вот как и чего перелючатся есть в документации. Чего на ваш взгляд не хватает в документации Mbed? 4. Из остальных RTOS для интернета вещей "игрушкой" вы называете только Mbed, а как же Zepyr и RIOT? Как-то непоследовательно. Либо так и говорите, что весь IoT - это игрушки или как-то аргументируйте. 5. Другой аргумент - отсутствие прямой поддержки от ST. Почти все RTOS из вашего списка не поддерживаются напрямую ST (как и ucOS), так что это не аргумент. Ну и ARM как бы для ST ядра придумывает, так что кто курица а кто яйцо еще очень большой вопрос. 6. "... нельзя ни аэроспейс, ни милитари, ни в медицине ..." как и FreeRTOS. В другом комментарии написал цитату с сайта. Так что тоже слабый аргумент. 7. Забыли сказать, что у Mbed есть нормальное комьюнити, которое помогает решать вопросы с этой операционкой. 8. Почему-то у вас в списке версия MbedOS 4, хотя актуальная - 6.4, ну да это мелочи.
Дык, Олег, я не обязан вообще приводить какие-либо аргументы "против" достаточно того факта что нет аргументов "за". Ну а если серьезно, то я повторил и не один раз что это мое личное, субъективное мнение. Я никому не мешаю составить свое мнение на этот счёт и даже даю ссылки для того, чтобы люди могли легче это свое мнение сформировать как в отношении MbedOS, так и в отношении других операционных систем. Всегда найдутся как сторонники так и противники.
@@VladimirMedintsev можете подсказать реально хорошие видеоуроки по CMSIS. Захотелось мне юзать Мбед ОС и регистры в самообразовательных целях.Так то лучше Хал какой то)
@@VladimirMedintsev Просто если не стремиться к объективности, то придем к астрологии и плоской земле. Аргументов против Mbed вы не приводите, но высказываете сильное негативное мнение и навешиваете ярлык ардуины.
@@OlegBovykin мир сразу станет лучше и красивее если вы поймёте что ардуино не несёт негативной окраски. У меня даже видео есть где я говорю что Ардуино это гениальный проект. Он не для профессионального применения, но это не значит что плохой.
@@VladimirMedintsev не только нравится, его команда ещё и развивают её. Правда давно не следил, что они там нового сделали. Я тоже ничего плохого не вижу, немного правда странно как мне кажется что он ее в лекциях даёт как одну единственно верную ос вообще не рассказывая про другие ос или хотя бы упомянув их.
Не знаю, я ничего против Riot не имею. В видео сказано, что я этой ос не занимался вообще и что-то внятное сказать не могу. По крайней мере в обзорах на канале ее точно не будет, мои интересы были обозначены.
Вот еще держи полезный подгон к uC/OS :) (Пиратка) Заточенный под UCOS граф пакет micrum UCGUI, Открытый код! (на микруме только демо библиотека ) И что интересней, эта UCGUI ни что иное, как 1 в 1 STemWin от Segger !!! Которая в виде неудобной библиотеки идет с STшными кубами. ( Segger купила у micrum UCGUI и продала в ST как STemWin ) www.waveshare.com/wiki/File:UCGUI3.90_Source.zip - Сайт поддержки waveshare, делают лучшие в мире отладочные платы (цена/функц/качество) под что угодно, ST, XILINX, ALTERA, модные беспроводные технологии итп.
Так себе обзор. Уж простите. Все ос плюс минус одно и тоже - планировщик задач и набор библиотке, в основном сторонних которые можно использовать отдельно. Нет смысла выбирать по библиотекам т.к. они в большинстве случаев легко подключаться. Самый главный критерий это поддержка ОС для конкретного mcu и что ещеьважнее это поддержка от самоготпроизводителя чипа. Потом что портировать ОС самому это труднозатратно. А вот nuttx это очень крутая вещь, они близка к декстопным ос потвозможностям - терминал, файловая система, аналоги процессов которые можно загружать отдельно по сети и потлм запускать и много других фич. Которые основаны на поддержке posix. Но в светомигалках конечно такое не нужно.
12:10 Брехня ;) Под космос и медицину даже uC/OS ПОКА не лицензирована (2версия частично) куда уж бесплатной версии FreeRTOS. Коммерческая FreeRTOS( как то иначе называется, забыл) возможно. И консоль к ней только в платной версии. К Free огрызок консоли на 1 поток. Подобные гарантии дает лишь ARM под CMSIS-RTOS2 (RTX5). Да и врядли бы они лажу рискнули оициально включать в CMSIS, без которой с ARM mcu никуда
С уважением! Такой труд проделан...
uC/OS потому не завоевала, что долгие годы была платной. Стоила тысячи долларов. А FreeRTOS тем временем захватывала пространство.
В итоге, не так давно, их купила Silabs и сделала бесплатной. Но время было упущено.
у вас лучшие видео по FreeRTOS в русскоязычном интернете! даже тот минимум, который вы рассказали, очень сильно помогает в ней разобраться!
Спасибо.
Спасибо за ваши труды. Очень полезный обзор)
Спасибо Вам большое. Вы единственный человек нормально раскрываете тему.
Спасибо за данный обзор. Очень ждем видео про понижение электропотребления в freertos.
Большое спасибо) Было очень интересно послушать ваше сравнение различных RTOS. Про большую часть даже не слышал. На личном опыте несколько раз сталкивался с FreeRTOS и uC-OS, и был ими доволен.
Спасибо! Скоро мне придут отладочная плата stm32, программатор и дисплей. Тоже хочется попробовать по программировать.
Работал в среде MBED OS и полностью согласен с вашими выводами. Не годится для серьезной работы.
С Ардуино опыт минимальный, но мне кажется, что действительно философия у них чем-то близка.
Спасибо.
У AVR серьёзное достоинство - бесплатный легальный софт. Кстати, AVRstudio под линукс существует?
)
@@Wo_Wang Так у STM32 тоже бесплатный и легальный.
@@Wo_Wang atmel studio сделан из ms vs, так что под линукс ждать не стоит. но компилятор avr-gcc есть под линукс. текстовый редактор на ваш вкус. да и бесплатные среды разработки сейчас у многих есть (MPLAB IDE для pic, STM32CubeIDE для stm32, MCUExpresso для nxp, и все в линукс могут). А еще есть platformIO.
А что интересного вы такого делали что mbed вам не хватило?
Специалисты некоторые к примеру даже рекомендуют и говорят что ардуино и рядом не стояла.
habr.com/en/post/420435/
По поводу embOS от Segger. Если кто-то хочет воспользоваться, то есть "нехороший" способ использовать её версию, входящую в состав PowerPac для IAR ARM 6.x. Этот PowerPac содержит в себе как саму RTOS, так и библиотеки поддержки USB, FileSystem и пр. Эти дополнительные библиотеки абстрагированы от "железа". Примеры также включены для разных демоплат, которые существовали на тот момент. Достать дистрибутив можно в известной "будке на сахаре" (введите в поиск Яндекса). Ищите там папку "CD-PPARM". Я пробовал запускать простые задачи на BluePill - работает. Ограничения искал и не нашёл (на количество задач, время работы и пр). Единственно, что библиотеки есть только до архитектуры arm7m, поэтому CortexM3 (BluePill STM32F103) поддерживается. Для поделок-самоделок, если пользуетесь IAR ARM, может сойти. IAR IDE имеет поддержку embOS при отладке. Теоретически можно и последними версиями IAR компилировать (собирать получалось), но в связи с переходом на unicode рекомендую ограничиваться IAR ARM 7.8.
Спасибо, интересно, познавательно, работа проделана огромная!
...за настойчивость и жажду к победе))))
Спасибо за материал!)
Спасибо большое за видео!
Я давно заглядываюсь на микроконтроллеры STM, но все останавливает их сложность и слишком большое количество несовместимых проектов, примеров и т.д.
По этому пока что "балуюсь ардуинками". Наверное именно слишком большое разнообразие и останавливает в изучении. За что первым браться? Какую ОС использовать? В какой среде разработки писать код???
Мне как новичку-самоучке очень сложно в этом разобраться.
На этом канале очень много видео именно для новичков и в них рассказано как и с чего начать. И Операционная Система вам пока рановато будет, пока обычное программирование не освоите.
@@VladimirMedintsev Спасибо! Обязательно посмотрю.
Откладывал STM в долгий ящик, хотя и отладочные платы есть. Пора начинать. Обязательно пересмотрю все ваши видео!
uC-OS заинтересовала. Гляну в это сторону. Спасибо!
Добрый день, Владимир. Спасибо за проделанную работу. Однако, хочу заметить, что в 12:40 Вы говорите про размер требуемой оперативной памяти в 9кБ для FreeRTOS. Это не совсем корректно. На слайде говорится про program memory footprint, а это размер исполняемого кода, который действительно иногда перемещают в ОЗУ для ускорения, но чаше все таки размещают исключительно во Flash памяти, которой у типового современного контроллера много больше чем ОЗУ.
Эволюция любого программиста микроконтроллеров состоит из этапов:
- научиться подрыгать ногой (портом)
- запустить на одном контроллере одну задача, положив под нее все такты процессора
- запустить несколько задач используя хал, куб, бесплатную ось
- выкинуть на свалку все из предыдущего пункта; научиться на прямую работать с регистрами и битами железа, и осуществлять многозадачность на контроллере прерываний
Да, кстати, написание программной оси под микроконтроллер, это уровень курсовой для группы студентов из 3 человек. Это является составной частью программы обучения в США.
А если серьезно, есть только 2 весомые причины использовать ось на микроконтроллерах:
- повторное использование кода
- работа над одним проектом нескольких программистов
Но вряд ли в этом случае ось окажется на шару
ChibiOS это простая система RT система и соответственно простая и надёжная. Рекомендую.
mbed пробовал. Да действительно косят под ардуину. Сижу пока на freertos. А вот за наводку на uc-os спасибо.
Ждем дальнейших видео по тематике ОСРВ
Согласен с автором за uC-OS. Очень приятная, а для меня фича в том, что весьма прозрачный и доступный текст ядра. При необходимости я даже вставлял свои потребности - отлично получалось.
....только периферия вроде USB и UART с ней не работает без micrum-ских платных дров ;)))
И в родной, ПОЛНОЙ, халявной!, портированой под все IDE, CMSIS2 - RTOS2 (она же RTX-5) сурсы тоже открыты и куда прозрачней и читабельней. Пзц... ARM такой подарок в CMSIS2 воткнула, а народу не в дамек... Так и работают с полуплатными огрызками.... :/
@@sovchem1275 По фриРтос намного больше информации, книги про нее пишут, это главное. Сидеть разбираться с экзотикой на работе не дадут.
Вот как нужно вещать в массы, чётко, лаконично по существу! Моё почтение. Несёте свет в масы
Спасибо. Nuttx используется в автопилоте pixhawk4, так что поддержка h7 имеется
Отлично. Не знал.
Она же лежит в основе Meadow OS. www.kickstarter.com/projects/meadow/meadow-full-stack-net-standard-iot-platform.
@@VladimirMedintsev Привет хочется узнать как возможно реализовать удаление прошивки через определенное время после включения устройства?
@@valera_kardan На канале есть видео о передаче управления и есть видео о использовании flash памяти если их скомбинировать, то станет понятно как можно стереть прошивку.
@@VladimirMedintsev Хорошо спасибо
Расскажите про режим энергосбережения + FreeRTOS
Очередная годнота, благодарствую! Попутно спрошу, может пропустил - а не было ли такого видео, где Вы бы на конкретном примере показали как отлаживаться под FreeRTOS, какие наичастейшие грабли у новичков, на что обратить внимание? Ну вот прям "ембед для первоклассников" - "при зависании - только без паники"?
Есть еще российская Embox, которая намного легче uCLinux, однако тоже позволяет "запускать приложения с внешних носителей". У меня на них подписка в Github и там постоянно и активно вносятся коммиты уже несколько лет подряд, что говорит о её активном развитии. Она, судя по номеру последней версии, еще на стадии разработки. Если в разработке будет девайс, который должен уметь запускать сторонние программы, то стоит присмотреться. Я ее еще ни разу не использовал, но нужно попробовать.
Почему сразу российская? Она все таки свободная и открытая :)
позволяет "запускать приложения с внешних носителей" . Ну не совсем с внешних носителей, хотя можно и так сделать конечно.
Но идея ипользовать стороннее ПО (готовое), например запустили OpenCV на Stm32F769i (с внутренней флешки) или Qt ( ruclips.net/video/_BpWQCtW02M/видео.html ) уже с внешней, но это не суть, слинковано то статически. Или например графический интерфейс опять же на базе стороннего проекта nuklear (ruclips.net/video/VUN0Hqvytks/видео.html )
судя по номеру последней версии, еще на стадии разработки. - ну современное ПО всегда в процессе разработки. Уже 50 релизов, нумерация меньше 1.0.0 это внутренее состояние команды разработчиков :)
Огромное спасибо за обзор! Открыл для себя MicroC-OS! Есть ряд нерешенных задач по ModbusRTU. )
Я бы хотел, чтобы там были английские субтитры - переведены с помощью Google Translate
Отсутствие на клавиатуре большинства пользователей греческой буквы μ (мю), мешает поиску примеров в интернете и соответственно продвижению системы μС-OS ))
Отличная шутка.
uc
Какие символы, каких тебе примеров не хватает ? ;) www.micrium.com/downloadcenter/download-results/?searchterm=hm-stmicroelectronics&supported=true
Они даже лицензионный IAR дарят для работы с их ОС, вот только разбираться с ней > года!
Пока книгу на англ в 5000стр не прочтешь работать с ней без шансов...
@@VladimirMedintsev Если очень много денег есть ;) Тк натыкаешься на их подлую замануха при работе с переферией, а именно. USB куй, UART куй, итп, покупайте UCOSовские дрова под периферию :))))
Попытка использовать сторонние, например STшные дрова вешают ОС
В 7 и 10 существует софтовая клава для греческого...
)
English captions please, this content looks really good .
It is a list of Real Time Operation systems that you can use on STM32 microcontrollers. In video description you can found link to download excel file with this list.
@@VladimirMedintsev thank you, but in the future no russian viewers would love to have translated captions. I'm sure someone can help please.
Спасибо за обзор!
Отличная работа!
Спасибо! Интересный канал! Привет из Краснодара!
Ну привет и вам из Краснодара
Владимир, спасибо за труды. Всегда с удовольствием смотрю ваши видео. Я как самоучка(новичок) начинал на Соосох и SPL и CMSIS Сейчас работаю в VisualStudio + GDB. Вопрос можно ли внедрить (без болезненно) в Cube IDE библиотеки от SPL. дайте совет и направление - стоит ли переходить полностью на HAL и LL.
Нужно переходить на LL. Прямо брать и переходить. Не оглядываясь. SPL забыть.
@@VladimirMedintsev Спасибо.
дуже гарно
Офігезний огляд, додам до колекції, дякую!
В riot понравилась почти линуксового вида api и нативная консоль, которую на уарт можно повесить.
Было бы класно ещё обозреть прототреды как концепцию и contiki os на их основе.
Ещё имел задачи на tirtos/dsp, на ней достаточно интересно устроено вытеснение задач.
Потрясающее видео!
9:51 Отладка доступна в Mbed studio.
Доступна, но ради этого ставить ещё и студию? Да лучше просто не использовать эту ось. Там более что лучшие альтернативы есть.
В защиту древнего uClinux. Одним из существенных плюсов этой OS является унаследованный POSIX стандарт для API. Вот попробуйте переписать свой код TCP/IP (USB, работу с диском и пр.) с одного стека на другой. Или вот нужен вам PPP для работы с модемом, у кого примеры спрашивать? Дело в том, что для uClinux вполне несложно портировать примеры от Linux, чего для других стеков вы сделать либо не сможете, либо с большим трудом. Т.е. я хочу сказать, что на uClinux вам вполне будут доступны исходники "старших" систем и вы можете писать код в стиле Linux, он даже может собираться на Linux с небольшими правками и тут вы можете использовать модульные тесты, к примеру.
Я работал с uClinux, мне в общем понравилось за исключением того, что работа внешних программ осуществляется в блокирующем режиме (общая память для всех). Поскольку POSIX, то документация есть на всё, как и примеры.
Мне кажется, что со временем мелкие ОСи отомрут, т.к. камни всё дешевле и можно будет вполне иметь дешевый кристалл с ОЗУ 64 МБайт, где мелкий embedded Linux побьёт всех конкурентов чисто сопровождаемостью.
4:20 у Segger интересный список поддерживаемых серий)
Спасибо
Про uCOS имею сказать, что он грешит багами. Когда то долго искал багу в ядре для pic32, нашел, но пришлось помучаться. С FreeRTOS такних проблем не замечал
Спасибо за труд.
микриум волшебная. Очень быстрый старт. Крайне всё логично.
У Вас очень хорошая подача материала. Не думали запилить всеобъемлющий платный курс по STM32? за 20-30тыс он был бы очень востребован. Так чтобы всё в одном месте и железо и программирование. Либо в формате онлайн школы на два семестра. Я может невнимательно смотрел, но подобных предложений как будто бы и нет. Мне такой курс был бы очень интересен, и многим знакомым тоже.
Спасибо за ваш труд!
Скоро такой курс выйдет на платформе GeekBrains. Очень большая команда людей заканчивает его подготовку. Я дополнительно об этом сообщу на канале.
Не удостоилась вниманием RTEMS - быстрая, стабильная, надёжная.
По MbedOS я бы не согласился. Проблем с отладкой никаких нет. Проект можно перенести как в Keil так и в IAR и там использовать все возможности отладки, например с тем же Segger. Компилятор можно использовать в том числе Keil и IAR. Сама операционка построена на Кейловской RTX5. Собственно Кейл и принадлежит АРМу. Система очень удобна для быстрого прототипирования. А при грамотном написании кода портирование с MbedOS на другие платформы не займет много труда. Основной недостаток - это поддержка фиксированных макетных плат (у некоторых даже не в полном объеме). Но в то же время система очень гибкая и позволяет добавить любое железо, хотя справится с этим далеко не новичок. Ну и самое главное, в отличии от своих конкурентов - это операционка написанная на C++, что также упрощает разработку.
Не проблема, со мной не нужно соглашаться, если вам нравится MbedOS, это замечательно. Я в том смысле, что тут нет повода для спора. Нравится - используйте.
Владимир, вы давно занимаетесь программированием stm32? Что кодили до этого?
По поводу RTOS от Keil, вроде она как свободнораспостраняемая или я ошибаюсь?
arm-software.github.io/CMSIS_5/General/html/index.html
The CMSIS is provided free of charge by Arm under the Apache 2.0 License.
Подобно любой другой лицензии на свободное программное обеспечение, лицензия Apache даёт пользователю право использовать программное обеспечение для любых целей, свободно изменять и распространять изменённые копии, за исключением названия
Согласен. Эта штука еще и в STM32F030F4 влезает. Минимализм )
Для FreeRTOS там написано не 9кБ оперативы, а 9кБ ПЗУ, это нормально
Владимир, не смог найти у вас на канале, у вас нет видео, где рассматриваются альтернативы микроконтроллерам STM32: МК от TI, NXP и т.д.?
Было бы очень интересно взглянуть!
Такого видео нету. Я и компания используем STM32. В будущем будут видео про NXP, но я пока не чувствую в себе особых знаний про них рассказывать.
@@VladimirMedintsev Ну вот и я пока тоже выбираю STM32 (на которые пересел с AVR8). Но выбор этот не особо осознанный, т.к. альтернативы я особенно не рассматривал.
Когда вливался в экосистему STM32, то был приятно удивлен обилием поддержки (как на форумах, так и на сайте ST), обилием хорошо продуманных и максимально подробно документированных эвалюэйшн бордов (включая полный набор схемной и производственной документации).
А еще поразила цена: после покупки Atmela компанией Microchip цены на них взлетели по моим ощущениям раза в два! А у ST МК стоили дешевле и при этом были по всем фронтам лучше. За исключением доступности моделей с EEPROM (с этим у них какая-то беда - есть только в некоторых L-ках).
Но может быть и у конкурентов тоже неплохо. Я просто не изучал.
Eeprom вам не нужен. Пишите во флеш свои данные она огромная. Конкуренты. Ну nordic и stm европейцы. Меньше шанс санкций и лучше поддержка т.к. они конкурируют с Америкой. Выбор очевиден
@@VladimirMedintsev Про то, что ST - европейцы я что-то не подумал. Действительно! Важный фактор!
По поводу Flash вместо EEPROM - сомнения: во Flash, вроде как можно писать только большими (от 1 кб) блоками и количество циклов перезаписи там примерно на 2-3 порядка меньше.
Стирать можно только страницами а писать хоть побайтно. По ресурсу 100.000 ну блин всем хватает. Тем более никто не заставляет писать в одно и то же место памяти.
Может у кого есть возможность, обьяснить как создать проект на стм32 под OS Zephyr, по документации не понимаю, как и что требуется для этого
Спасибо за обзор. Попадалась ли в поле зрения RTEMS? Если я не ошибаюсь Европейское Космическое Агентсвто любит запускать её в космос (что наверно говорит в пользу надёжности и отлаженности этой системы). Если верить их сайту, есть поддержка некоторых контроллеров STM32.
Как показывает практика в космос не всегда отправляют самое надежное. Отправляют хорошо отработанное и то, что смогут потом хорошо смоделировать на земле.
Странное получилось сравнение. Как мне кажется, не хватает нескольких важных вещей:
1. Наличие собственного HAL. Это важно, потому что хуже и нестабильнее HAL от ST нет, наверное, ничего.
2. Вместо поддержки серий микроконтроллеров можно было указать сферы применения: General, IoT, Safety Critical, Aerospace, Military. Такие параметры сразу дадут понимание, что Zepyr и RIOT - это про IoT.
3. В ChibiOS хорошо бы объяснить, что RT и NIL - это разные вещи.
4. ucOS только недавно стал опенсорсным, поэтому мир и не захватил. Опять же есть 2 версии: 2 и 3.
5. В списке не хватает много чего, но как не указать среди коммерческих лидеров индустрии: VxWorks, LynxOS, Integrity?
6. У FreeRTOS нет сертификатов для Safety Critical или чего-то жестче. Есть SafeRTOS, но это совсем другая система. С сайта FreeRTOS: "SAFERTOS is based on the functional model of the FreeRTOS kernel, however, it is not the FreeRTOS kernel. It has been completely re-designed by a team of functional safety experts at WHIS"
7. FreeRTOS и для industrial не сильно подходит с разрешением кванта времени в 1мс. Или интеррапты (очень "классно" в контексте RTOS) или даже с кан шиной нагруженной работать не получится. Надо проверять новые сообщения каждые 200 мкс. Без танцев с бубном с FreeRTOS такое не сделать.
8. Про отладку что-то совсем магическое расскаpали. Все ядра кортекс имеют общий интерфейс отладки, к RTOS это отношения не имеет. Можете, пожалуйста, пояснить, чем в вашем понимании отладка в FreeRTOS принципиально отличается от того же Mbed?
Еду такой читаю ваш комментарий и радуюсь. Вот думаю специалист пришел с глубоким взглядом. Ну аж приятно стало. А потом прочитал и разочаровался. Ну я лично не понимаю как с одной стороны можно понимать работу операционных систем, а с другой делать вид, что вы не понимаете, что имеется в виду под отладкой. Сильно вам стандартный интерфейс программирования cortex поможет в отладке приоритетов и семафоров? Наверное без специальных утилит и отладочного кода внутри ядра операционной системы не поможет совсем. Ну а в конце вы мне совсем настроение испортили весьма странным заявлением про кванты и прерывания. Я пожалуй оставлю это без комментариев.
По 8) Автор возможно имел ввиду нечто подобное - percepio.com/tracealyzer/
@@VladimirMedintsev Если приходится лезть в ядро ОС и отлаживать семафоры и приоритеты, то это какая-то плохая РТОС и скорее всего никаких сертификатов у нее быть не может, разве нет? Я не эксперт в разработке под эмбеды и тем более не эксперт в FreeRTOS, поэтому, возможно, сказал что-то не то. Пожалуйста, поясните в чем соль по пункту 7. И что думаете насчет остальных?
@@OlegBovykin У меня такое впечатление что мы на разных языках говорим. Давайте проще. Есть несколько задач, они имеют разные динамически изменяемые приоритеты. Приоритеты меняются и в зависимости от режима работы и в зависимости от тактовой частоты, которая прямо влияет на энергопотребление. Для того, чтобы это отлаживать в ядре операционной системы есть специальные механизмы, а также разработчики дают утилиты (инструментарий) который позволяет отлаживать алгоритмы приоритезации задач. Это свойство ядра. Ничего писать самому не надо. Без этого нормально отладить очень сложно и главное абсолютно не эффективно.
По прерываниям. Их использовать можно и Нужно. Операционная система сама по себе, ваша система прерываний сама по себе. Вы видимо как-то странно воспринимаете кванты времени. Они не имеют никакого отношения к обработке возникающих событий.
@@VladimirMedintsev Как я понимаю, прерывания не дружат с шедулером RTOS и по сути полностью ломают систему переключения между задачами. Потому и конкретный вопрос, как в FreeRTOS сделать получение сообщений по кан шине без прерываний чаще, чем за 1мс (200мкс)?
Класс! 👍😳
Пришло письмо о анонсе, цитирую: "Azure RTOS on any STM32". Возможно будет еще одна система "безвоздмезно - тобишь даром" ? Сылку не предоставлю но новость виставлена на блог.ст.ком за 10 декабря
Да, спасибо огромное, мне тут уже подписчики сообщили.
@@VladimirMedintsev я тоже подписчик)))
Отлично, я рад.
Товарищь, а что вы думаете по поводу микропитона?
Короче посоны... Продолжаем юзать FreeRTOS! 🙂
Однозначно, но не забываем поглядывает на uC-OS.
Только с утра новый проектик начал на фундаменте freertos :)
Osы разные нужны, Osы разные важны!
@@VladimirMedintsev uC-OS в электронных книжка иногда используется..
@@leoned1797 я же говорил полезная штука.
Очень хорошо!
Не планируете обзор TCP\IP стеков? У меня как-то повелось, что во всех проектах использую uIP (уже многократно переписанный под свои нужды), а на lwIP или FreeRTOS+TCP переходить лень. Интересует чужой опыт.
Так вроде есть же видео на эту тему? И как бы там даже показано как это в кубе настраивать.
@@VladimirMedintsev , простите, видимо провтыкал
Как прибавить Вам сил для создания ролика про экономию электропитания под FreeRTOS? Очень интересная тема.
Мне надо больше времени в сутках.
@@VladimirMedintsev Может как-то в сокращённом формате. Мне, например, важно понять как его грамотно усыпить на время ожидания старта очередной задачи, кто его потом разбудит так, чтобы он сразу после пробуждения запустил очередную задачу?
Там в руководстве с их сайта описано что надо делать. Там надо сохранить systik и уснуть а потом его восстановить. И так же делать снижение частоты.
@@VladimirMedintsev ушёл в глухой отказ ;-)
Только недавно узнал про G-серию, чем она отличается от остальных?
@Ilya Galkin да, спс, за 3 месяца успел разобраться))
А почему ThreadX не рассматривалась? Правда, на конец октября 2020 пока не лицензирована для бесплатного использования с STM32, но поддержка STM есть и хочется верить, что договорятся.
Договорятся не договорятся, честно говоря и так есть из чего выбрать.
@@VladimirMedintsev Для домашнего использовния - бесплатно. Для коммерческого пока платно. Во второй-то части указаны же платные RTOS
AUTOSAR, RTOS для Automotive применения
Стоило упомянуть Apache Mynewt mynewt.apache.org/
Из STM32 поддерживаются семейства F0, F1, F3, F7, L0, L1, L4, WB.
Что касается μC/OS, недоумение по поводу малой распространённости такой хорошей ОС объясняется тем фактом, что только в 2020 году её приобрела Silicon Labs и выпустила под открытой лицензией, а до этого она распространялась на коммерческой основе.
Интересный обзор. Благодарю! Как с Вами связаться? Нуден совет. Из Питера.
Вы издеваетесь? Или это такой тонкий троллинг? Я раз 5 уже давал вам электронную почту. Не один раз вы мне писали по поводу нашего изделия. Т.е. контакты у вас мои есть.
Блин, какая деградация! OC для STM8!
Я считаю что изделия нужно маркировать без ОС как без ГМО!
ГМО лучше и безопаснее для употребления в пищу))
Зря Вы так, для каждого ТЗ свой набор инструментов.
@@bogdanzayatsastronomyandna4722 Да, тут хотел бы, но не поспоришь. Хотя в глубине души, я догадывался, я знал, что пользователи юзающие ОС в МК пробуют на вкус свои поделки! :)
@@Michael_Kaa Мое мнение, что в МК, с процессорами без защищенного режима, ОС это глупость.
Но признаю, есть масса примеров, где ОС вполне оправдана, и без защиты памяти, например, стек протоколов TCP/IP, есть масса библиотек, написанных под OC, которые работают, и писать это с нуля без ОС просто глупость.
Но ребята STM8, это печально!
А это и не ОС а RTOS. Они и для АВР есть.
Спасибо, жаль RIOT не обозрели
либо я не заметил, либо я путаю, но кажется в табличке отсутствует CooCox CoOS... Хотя она наверное уже умерла
Про зомби даже вспоминать не хочется. Я несколько мертвых проектов убрал. В частности одну Корейскую не документированную систему.
Раз разговор про ucos зашел, вот держи :) Книжка по uCos3 , взломанный (перераспознаный) PDF. На микруме блокированная лежит, PDF копипастить не дает, что крайне не удобно, когда какой то кусок перевести хочешь, итп drive.google.com/file/d/1SaMU0lkdGLTev4Tf_yxG555_40yK5tpj/view?usp=sharing В позапрошлом году разбирался с ней, пока не понял, что в ней подлость с USB и UART (работают только с платными библиотеками micrum), вот pdf-ка осталась///
FreeRTOS может кушать меньше памяти, у меня получалось ее запустить на stm32f100 с 4к озу работала правда не очень много тасков смог запустить.
CMSIS RTOS-2, она же RTX5 - ЛУЧШАЯ ! ! ! Полноценная, халявная, РОДНАЯ ARM ОС для кортексов, с открытым кодом. Портирована под все среды Keil, IAR, CubeIDE (GCC) drive.google.com/file/d/1T5uZvcHyhaZgU-D8AuZG9fRplUGCkjUS/view?usp=sharing (пример, один и тот же мой проект c CMSIS RTOS2 открыт в Keil и IAR) +отличная контрольная консоль в KEIL5. И нахрена тогда пользоваться халявными огрызками FreeRTOS, ChibiOS итп... Система халявно встроена в CMSIS2 ! И странно что многие программисты до сих пор не знают об этом подарке от ARM...
не подскажешь где скачать такую?
CMSIS-RTOS2 - это API. Реализация этого API есть в RTX5 у Keil, и в FreeRTOS у ST.
@Ravi TV github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/RTOS2/RTX
А дрова к ней есть?
)
Обзор ок, но хочу дополнить. На базе Visual Studio есть отладка в mbed os... И вроде как на базе атома тоже
Я прилагаю усилия к снижению пользователей ардуиноподобной mbedos в русскоговорящем сегменте интернета. И пока очень успешно.
@@VladimirMedintsev как это понять ардуионоподобной мбед?
Ну как написано и как сказано в видео так и понять. Когда за счёт универсальности и попытки объять необъятное получили плохо контролируемый продукт с низкой надежностью. Не имеющий сертификатов безопасности. Ну всем ведь понятно что с таким перегруженным ядром это творение никто не сертифицирует. А значит и применять можно только в Ардуино и подобных проектах.
@@VladimirMedintsev надо же отличать проф. деятельность и любительское дело. Например мне не зачем сертификаты к слову вообще. Даже никогда не запаривался над ними. Продукты никакие не продаю, делаю чисто ради интереса,то что интересно. На проф. уровень(то есть на работу) по такой специальности никогда не пойду.
Ну и явный плюс мбед который я заметил, это те же библиотеки, с которыми не нужно читать тонны даташитов. Ну и естественно готовые библиотеки разнообразных протоколов.
Спорить можно долго, но у нас разные взгляды на мк и программирование
Ну вот вы сами и описали mbedos как ардуиноподобной проект. Оставим за кадром тот момент почему радиолюбитель не желает развиваться и достигать чего-то большего. Но спор с вами не имеет смысла. Это видео для тех, кто хочет изучать новое.
кто-нить пробовал нашу FX-RTOS от EREMEXов?
Боюсь, что может кто и пробовал, но насильно. Ну какой смысл покупать продукт, который даже пощупать нормально не дают, если есть бесплатные продукты. Кому не хочется FreeRTOS ну есть ThreadX
scmRTOS забыли
Не совсем понятно, почему фриртос можно юзать в медицине и пр. А мбед нельзя. В чем разница с эту точки зрения? Причем здесь лицензии мит?
Ну судя по вопросу вы любитель. Вы можете использовать любую систему которая вам нравится. Для остальных есть стандарты, сертификация, лицензирование и прочее.
@@VladimirMedintsev в нашей стране все проще с лицензиями, поэтому мне интересна больше сторона практическая. Спасибо за ответ 👍
вот так и знал, что про Riot нечего будет сказать... А вот глянули бы, ну..
Да чего на нее смотреть? Ну что я там такого должен увидеть? Рынок уже поделен.
@@VladimirMedintsev ну тут же вроде как обзор, таблица приведена, о некоторых что-то рассказано. Насчёт одной вы сказали, что не понятно, почему она не завоевала мир. Я о такой и не знал, я думал, что не понятно отчего Riot не завоевала мир, а вы о ней вообще ничего не сказали. Конечно же мне хотелось бы большего услышать о ней от вас.
Насчет mbed хочется высказаться отдельно. У вас большая аудитория и вы с абсолютной уверенностью приравниваете Mbed к Arduino, при это не приводя ни одного сильного аргумента.
1. Arduino упоминается в негативном ключе, потому что много готовых отладочных плат? Большинство плат на сайте - это отладочные платы вроде Nucleo. Специальных плат под Mbed нет. Чем это плохо?
2. Вы себе противоречите, сначала говорите, что Mbed модульная, а потом ругаете за безопасность из за наличия всяких беспроводных стеков. Можете пояснить связь между безопасностью и модульным подключением беспроводных интерфейсов?
3. Про отладку я написал в другом комментарии. Отладка к RTOS не относится. А вот как и чего перелючатся есть в документации. Чего на ваш взгляд не хватает в документации Mbed?
4. Из остальных RTOS для интернета вещей "игрушкой" вы называете только Mbed, а как же Zepyr и RIOT? Как-то непоследовательно. Либо так и говорите, что весь IoT - это игрушки или как-то аргументируйте.
5. Другой аргумент - отсутствие прямой поддержки от ST. Почти все RTOS из вашего списка не поддерживаются напрямую ST (как и ucOS), так что это не аргумент. Ну и ARM как бы для ST ядра придумывает, так что кто курица а кто яйцо еще очень большой вопрос.
6. "... нельзя ни аэроспейс, ни милитари, ни в медицине ..." как и FreeRTOS. В другом комментарии написал цитату с сайта. Так что тоже слабый аргумент.
7. Забыли сказать, что у Mbed есть нормальное комьюнити, которое помогает решать вопросы с этой операционкой.
8. Почему-то у вас в списке версия MbedOS 4, хотя актуальная - 6.4, ну да это мелочи.
Дык, Олег, я не обязан вообще приводить какие-либо аргументы "против" достаточно того факта что нет аргументов "за". Ну а если серьезно, то я повторил и не один раз что это мое личное, субъективное мнение. Я никому не мешаю составить свое мнение на этот счёт и даже даю ссылки для того, чтобы люди могли легче это свое мнение сформировать как в отношении MbedOS, так и в отношении других операционных систем. Всегда найдутся как сторонники так и противники.
@@VladimirMedintsev можете подсказать реально хорошие видеоуроки по CMSIS. Захотелось мне юзать Мбед ОС и
регистры в самообразовательных целях.Так то лучше Хал какой то)
@@bogdanzayatsastronomyandna4722 Нет, не могу. Не знаю. В качестве учебного пособия хорошо подходят куски кода из предыдущего видео.
@@VladimirMedintsev Просто если не стремиться к объективности, то придем к астрологии и плоской земле. Аргументов против Mbed вы не приводите, но высказываете сильное негативное мнение и навешиваете ярлык ардуины.
@@OlegBovykin мир сразу станет лучше и красивее если вы поймёте что ардуино не несёт негативной окраски. У меня даже видео есть где я говорю что Ардуино это гениальный проект. Он не для профессионального применения, но это не значит что плохой.
👍🤝🏅
Riot OS Олег Артамонов пропихивает, по его лекциям на Ютубе знакомился вообще с миром мк
Ну она ему нравится, не вижу в этом ничего плохого.
@@VladimirMedintsev не только нравится, его команда ещё и развивают её. Правда давно не следил, что они там нового сделали. Я тоже ничего плохого не вижу, немного правда странно как мне кажется что он ее в лекциях даёт как одну единственно верную ос вообще не рассказывая про другие ос или хотя бы упомянув их.
Не знаю, я ничего против Riot не имею. В видео сказано, что я этой ос не занимался вообще и что-то внятное сказать не могу. По крайней мере в обзорах на канале ее точно не будет, мои интересы были обозначены.
@Ilya Galkin Абсолютно согласен!
#СпасибоЗаКонтент
Фух!! - 9кб, а я то было распереживался...)
uCLinux это эхо 90-х.
Это тот редкий случай, когда многие хотели бы стать таким тупым и неудачником. )))
Респект за обзор. Ты облегчил многим муки выбора.
Ещё есть RTOS TNeo habr.com/ru/post/267573/ , пользуюсь уже много лет.
Это творение разве портирована на STM? По моему нет.
@@VladimirMedintsev , ещё её предшественница TNkernel была портирована. А TNeo и подавно. У меня на STM работает.
Хочу добавить, есть очень хорошая RTOS для STM8 - OSa - сайт wiki.pic24.ru/doku.php/osa/ref/intro
Спасибо, шикарная ссылка!
ChibiOS давным давно дропнула саппорт для STM8 - www.chibios.com/forum/viewtopic.php?t=4301
Вот еще держи полезный подгон к uC/OS :) (Пиратка) Заточенный под UCOS граф пакет micrum UCGUI, Открытый код! (на микруме только демо библиотека ) И что интересней, эта UCGUI ни что иное, как 1 в 1 STemWin от Segger !!! Которая в виде неудобной библиотеки идет с STшными кубами. ( Segger купила у micrum UCGUI и продала в ST как STemWin )
www.waveshare.com/wiki/File:UCGUI3.90_Source.zip - Сайт поддержки waveshare, делают лучшие в мире отладочные платы (цена/функц/качество) под что угодно, ST, XILINX, ALTERA, модные беспроводные технологии итп.
Так себе обзор. Уж простите. Все ос плюс минус одно и тоже - планировщик задач и набор библиотке, в основном сторонних которые можно использовать отдельно. Нет смысла выбирать по библиотекам т.к. они в большинстве случаев легко подключаться.
Самый главный критерий это поддержка ОС для конкретного mcu и что ещеьважнее это поддержка от самоготпроизводителя чипа. Потом что портировать ОС самому это труднозатратно.
А вот nuttx это очень крутая вещь, они близка к декстопным ос потвозможностям - терминал, файловая система, аналоги процессов которые можно загружать отдельно по сети и потлм запускать и много других фич. Которые основаны на поддержке posix.
Но в светомигалках конечно такое не нужно.
12:10 Брехня ;) Под космос и медицину даже uC/OS ПОКА не лицензирована (2версия частично) куда уж бесплатной версии FreeRTOS. Коммерческая FreeRTOS( как то иначе называется, забыл) возможно. И консоль к ней только в платной версии. К Free огрызок консоли на 1 поток. Подобные гарантии дает лишь ARM под CMSIS-RTOS2 (RTX5). Да и врядли бы они лажу рискнули оициально включать в CMSIS, без которой с ARM mcu никуда
А что насчет Mynewt OS (mynewt.apache.org/ )?
Странная система, поживем увидим.
µC/OS не завоевала мир (любительй open source) потому что платная, она точно не open source и ни сколько не free.
Моя самая лучшая github.com/AVI-crak/Rtos_cortex
Блин ну кто же знал.
plz english
Крутая работа! Спасибо