Опубликован выпуск RT-Thread 5.0, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для почти 200 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58909
А мне кажется что настоящее реальное время невозможно при многоядрености и многопоточности.
Запускаем на одном ядре в один поток
На скрине поэтому и выключен SMP
Вот же хитрецы китайцы. Заявляют многопоточность, а сами её отключают при сборке.
Простейший случай - на одном ядре запускаем критичные по времени задачи, на втором прочее.
Причём ядро используется без "помощи" ОС, и именно отжимается у неё.
На мелких двухядерниках с RTOS это более чем годно работает.Про работает с мало мало памяти - басни. Как только подключаем любой сетевой стек даже для тривиального проекта требуется память, и чтобы работало быстро ещё больше. Плюс память для самой задачи.
При росте числа ядер, вроде бы вариантов добавляется, но если не используются активно прерывания и взаимодействие с ОС, которое может стать бутылочным горлышком.
> Причём ядро используется без "помощи" ОС, и именно отжимается у неё.Совсем жесткий реалтайм может еще кой какие соображения включать. Скажем, если ядер более одного.... окей, но они претендуют на 1 и ту же шину, память и прочие ресурсы. Оба. И как минимум появляется джиттер от арбитража кого пускаем к вон тому ресурсу и/или некие малоконтроируемые просадки перфоманса в зависимости от активности другого ядра. Вот тут пиковая скорость столько. А если второе ядро параллельно вкалывает, уже "от... до ..." и это уже придется очень подробно смотреть как там арбитраж делается. Если это вообще расписано.
А на шины и ресурсы еще всякие DMA могут претендовать, допустим. Чтобы не скучно было. Реальное время штука такая.
> претендуют на 1 и ту же шину, память и прочие ресурсы.Если мыслить чуть ближе к железу, то важно можно держать в кэше ;)
> Если это вообще расписаноесли нужны гарантии обязательно расписано и на какой попало SoC настоящие RTOS не портируют
> А мне кажется что настоящее реальное время невозможномало кто вкладывается в производительность каждого Герца.
Политика лишь бы работало, но плевать какая будет задержка(отклик) уже прижилась в IT
Почему нет? Например, одно ядро CPU выполняет ядро ОС, сетевое взаимодествие, некритичный ввод-вывод, второе - задачу РВ.
Зачем им это делать одновременно? Пусть по шине обмениваются два разных устройства если им это так нужно.
Зачем по шине, если на одном кристалле? Пусть через память общаются.
Ну потому что какой это тогда нафиг реалтайм. Пусть распределят роли. Какой смысл в этой копеешной экономии железок. Настоящие реалтайм девайсы в реальной жизни так не работают. Так делают всякие кто косят по реалтайм.
> Настоящие реалтайм девайсы в реальной жизни так не работаютнастоящие так и работают, а для того простого случая что ты описал и ОС не нужна
https://www.ghs.com/products/rtos/integrity_virtualization.html
https://www.windriver.com/studio/edge-devices/virtualized-os
В ОС реальное время бывает жесткое и мягкое. Настоящее время это у глаголов.
несколько не так.
в реале есть такая штука - обратная связь
если железка вписывается по времени в эту обратную связь - делаем программно.
не вписывается - паяем узел из микросхем.
как человек проработавший в промышленной автоматике более 20 лет - 1 мс хватает почти на все с механикой.
то есть на большинство вещей в станках хватает 386 процессора.
раньше работавшего через шину ISA а теперь через порт LPT.
если нужна обработка сигналов ( что ОЧЕНЬ редко) с обратной связью менее 1 мкс - идем в сторону сигнальных процессоров или сборок на микросхемах.
мне доводилось делать узды научных приборов в наносекундном диапазоне - на их выходе тогда работали компы под досом.
частицы в камерах летали - платки их регистрировали компы их запоминали регистрировали - наука двигалась.
> если нужна обработка сигналов ( что ОЧЕНЬ редко) с обратной связью менее 1 мкс - идем в сторону сигнальных процессоров или сборок на микросхемахэто наверно очень давно было, сейчас на FPGA делают
Смотря что смотря где и как. ПЛИСины в общей массе несоразмеры микросхемам ЦОСЭто почти как сравнивать товарный состав на электротяге и БелАЗ. Вроде и то и другое может много везти, вроде бы даже колёса едут за счёт электричества, но, всё-таки, есть нюансы.
> Смотря что смотря где и как.
> частицы в камерах летали - платки их регистрировали компы их запоминали регистрировали - наука двигалась.https://accelconf.web.cern.ch/icalepcs2013/papers/momib09.pdf
> ПЛИСины в общей массе несоразмеры микросхемам ЦОС Copyright Бывалый смузихлёб
и по массе разные и главное цвет
к плисинам ведь еще и ацп городить надо
не возражаю против плисин как таковых но скоростная плисина нужна только к ОЧЕНЬ скоростному ацп - которые обычно не входят в состав сигнальных процессоров.
где нибудь в радиолокации - все именно так и обстоит.
но что нибудь еще такое как радиолокация - это надо думать.
а вот всякие томографы-дефектоскопы-анализаторы-чего там вполне жужжат на менее скоростных сигнальных процессорах
Это Вы расписываете, для чего на практике нужно гарантированное время отклика. А в исходном сообщении не понятно зачем написано слово "настоящее". Может он не знает, что не всегда требуется гарантировать. Или так троллит. Я со своего дивана и то слышал краем уха, что Разбери Пи Пико может одним ядром формировать VGA картинку -- как раз реальное время "на коленке".
Как помочь несчастным:
1. Делаешь ошибку в тексте.
2. Люди радуются, что они умнее тебя, на минуту забывают, что их жизнь овно.
3. Улыбаешься.
Два хода и ты признался, что тролль.
> Разбери Пи Пико может одним ядром формировать VGA картинкуНу, строго говоря, там читерство применяется для этого: задействуются встроенные программируемые конечные автоматы (PIO-блоки). Это весьма мощное колдунство, много RT-вещей можно реализовать или докинуть недостающих шин, почти не загружая этим ARM-ядра.
"Строго говоря", времянка у видеосигналов должна соответствовать, и этот вопрос успешно решается на верхнем уровне программно, а не как в VGA-контроллере.
Кстати в rpi'шном микроконтроллере забавно сделали: 2 ядра + PIO автомат. И даже DMA вроде какой-то. На этом можно довольно нехило позажигать с времянками и их синтезом.В STM32 тоже можно на DMA автомат выгрузить довольно много чего. Секрет в том что его можно по таймеру дергать, и ему решительно пофиг что, откуда и куда двигать. Так что можно и синтез таймингов в нетривиальном протоколе забахать, так что он будет пачку GPIO допустим ворочать, по таймеру, на основе данных в RAM или флеше. Так можно очень жесткореалтаймно какой-то протокол GPIO синтезировать.
Ну или вон можно с ADC читать по кольцу пачку отсчетов, класть в буфер, получается буферок живущий своей жизнью, куча локаций отражает вольтажи там и сям, удобно Без участия в этом проца вообще. Пускаем это 1 раз - само фигачит в фоне, без участия софта, чисто хардварная конструкция. Как максимум IRQ можно заказать если хочется привязаться к моменту готовности пачки отсчетов, получая более точные тайминги.
Правда когда захочется приблизиться к лимитам придется узнать много нового как в системе шины, арбитры и память вообще взаимодействуют и то ли вы получите что думали. Это актуально если пытаться влезть в времянки сравнимые с циклом проца/шины. У вон того pi все довольно наворочено. И это, зря они флеху встроеную не сделали, внешняя все же сразу обеспечивает удорожание готовой системы до величин когда это в разы хуже конкурентов. При всей крутизне этой штуки, это факап.
> то есть на большинство вещей в станках хватает 386 процессора.386 процессоры уже не выпускаются серийно вроде бы никем.
> раньше работавшего через шину ISA а теперь через порт LPT. У вас уже не поза-поза-поза-поза-прошлое поколение а только поза-поза-поза-прошлое? Апгрейд!
> если нужна обработка сигналов ( что ОЧЕНЬ редко) с обратной связью менее 1 мкс -
> идем в сторону сигнальных процессоров или сборок на микросхемах.Про микроконтроллеры и плис с своими 20 лет вы кажется не слышали. А вообще-то инженеры при таких задачах идут вот туда. Вон человек до 500 МГц сигналы синтезирует обычным STM32H7. Потому что может. Попробуйте так на 386.
RTOS нужна для обработки НЕСКОЛЬКИХ задач, которые должны отработать тогда-то и не дольше стольки-то. Это не про лопатить до победного с максимально доступной скоростью. Потоки в данном случае, это способ описать цепочку однотипных задач. Если хочешь считать такты, то бери ПЛИС. Для остального есть периферия который и управляешь. И если RTOS позволяет раскидать время работы задач на несколько ядер, то в чём проблема? Больше способов отстрелить себе ноги? Так думать надо, что пишешь. Если "реальное время" в твоём понимании - это максимально быстро мигать светодиодом, то NE555 справиться с этим лучше.
>RTOS нужналюбая ос нужна прежде всего для совместимости
а именно рт - для задач управления - которые стоят несколько в стороне от подсчета денег проектирования реакторов показа котиков и общения в соц сетях.
то есть можно рассматривать ртос - как необходимую смесь ежа и ужа
>> то есть можно рассматривать ртос - как необходимую смесь ежа и ужанельзя
Возможна. Но разумеется если это нормально спроектированная система.
Проблема RT в том что не бывает сферической RTOS в вакууме - быть RT может только конкретный ПАК (програмно-аппаратный комплекс). Или иначе говоря - RTOS на неRT-железе не является RT-системой. Обратное тоже верно.
> А мне кажетсяДа, тебе кажется.
Почему? Один синхронный диспетчер. Остальные это workers threads. Нужно только чтобы они отработали за время не более заданного. Чётко через заданное время диспетчер спросит. Не уложился это проблема программиста приложения. ОС не виновата. Сколько потоков работало тоже не важно.
чем это лучше бугуртОС?
Первое, что увиделось, у BugurtOS список поддерживаемых микроконтроллеров скромнее. Зато лицензия у BugurtOS православная.
> Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipseпотому что эта собственная IDE на Eclipse сделана
так же, как STM32Cube™ IDE, Dbeaver, TI™ Code Composer Studio IDE, NXP™ MCUXpresso IDE, Moun River Studio для RV
И даже IAR
Да лан? Не похож.
у IAR своё отсталое IDE не умеющее в линукс...
А ведь была ещё Atmel Studio, неведомо каким образом сделанная на базе MS Visual Studio ( последние версии похоже что на 2010 ), чем неимоверно доставляла ввиду своего удобства лаконичности и приятного интерфейса
другой вопрос, что китайцы настолько прагматичны, что даже пакеты эклипсоиде забывают под линукс собрать
RT-Thread-Studio-setup-x86_64-latest.exe
Сложно конечно освоить её, но сёравно придётся, спасиб за картинки.
Зачем тебе её осваивать?
Just for fun?
Для тебя есть LinuxCNC фана там хоть завались.
> 3 КБ Flash и 1.2 КБ ОЗУкак бы сейчас выразился типичный it-шник - некрота
Нормальные характеристики для нижней планки контроллеров. Плюс кризис производства чипов делает свое дело.
Кризис производства - это когда нифига не производится. А последние годы производство только росло.В этом случае речь о кризисе распределения. Ведь продукция не переносится волшебным образом со станка на склад конечного заказчика-потребителя. В этой цепочке есть очень жирные и почти незаметные паразиты.
Так было, например, со многими продуктами в позднем СССР, так было и отчасти есть до сих пор с теми же морепродуктами в РФ( которых ловится дофига, только, либо до прилавка не доходит, либо - всякие продаваны в лице тех же Ленты или Метро делают ещё 200% прибыли, торгуя самым паршивым минтаем по 250-350р/кг, пока региональные сети запросто торгуют им в розницу по ~100р - и это для Сибири! )
Тем не менее цены необоснованно растут, значит их меньше покупают, следовательно падает производство и т.д. и т.п. по кругу. Смысл от этого не меняется.
Только производство растёт ) Но оно и ранее росло
А те же стм-щики уже настолько с ценами обнаглели, что уже куча китайских аналогов появилась. Причём, полных, причём, в несколько раз дешевле> Тем не менее цены необоснованно растут, значит их меньше покупают
По этому закону уже столетиями нифига реально не работает
Тем более, что даже если и работало, то ровно наоборот: либо покупать начинали меньше оттого что продаваны цены заломили, либо - ввиду снижения спроса начали снижать цены для его поддержки. Но некоторую продукцию купят почти за любую цену как показала история с видеокартами. Будут брать кредит или долго копить - но всё равно возьмут.Сейчас ценами на ключевую продукцию фактически управляют транснациональные компании.
У них гигантские обороты и на рынках, где им есть местные конкуренты, они могут годами держать цены на продукцию ниже рынка т.н демпинг, причём, оставаясь в общем в плюсе. Потом - конкуренты банкротятся или уходят с рынка и упомянутые - запросто заламывают совершенно неприличные цены.
В случае с "полупроводниками" посоны похоже просто захотели заработать на ожидаемом росте спроса на электронику. Как и куча компаний взялась пилить игровые онлайн-сервисы и всякие метавселенные( первые уже на мороз вылетели. Вторые - в процессе ).Так ведь и с РФ отчасти было в 90-е, когда западные компании задавили огромное количество производителей микроэлектроники и рассыпухи, хотя местные производители предупреждали местных же изготовителей конечной электроники что запустить линии потом будет очень дорого, что цены на западную продукцию не всегда будут супернизкими, а им коммерсанты в ответ - "западные микросхемы вдвое лучше по параметрам, притом, вчетверо дешевле. Подтягивайте качество иначе нам невыгодно ( хотя доля стоимости деталей в конечной цене порой была даже ниже 15% )".
Проходит немного времени, местные производители закрывают линии. Цена на западные детали волшебным образом растёт в 8-50 раз. Придурки-изготовители конечной электроники хватаются за голову, бегут к производителям что их ранее предупреждали, но уже поздно - линии остановлены, уже что-то другое делается, а обеспечить спрос чтобы перезапуск их оказался рентабельным те не могут. Потом и многие конечные изготовители загнулись.
Редко встретишь тут у кого-нибудь более-менее связную точку зрения, но я все-таки больше склоняюсь к "явной лаже", чем к "тайной ложе", евпочя. Как мне кажется, сейчас идет разгребание последствий взлета и падения крипты, причем разгребание довольно дурацкими методами. На это наслаиваются последствия ковида (хотя эти почти закончились) и, разумеется, политика.
> игровые онлайн-сервисы и всякие метавселенныеПервые были и до этого и в общей массе производства составляют пару процентов, от силы.
Второе еще пока существует только в виде плохо стыкующейся с реальным миром концепции, за которой ничего нет, да и скорее всего не будет.
Но суть в том, что микроэлектронику сейчас колбасит как никогда, независимо от причин.
> Только производство растёт ) Но оно и ранее рослоНа рынке все определяется спросом и предложением. Производство чипов одно время словило клин. И у китайцев, и у ST и много у кого еще.
> А те же стм-щики уже настолько с ценами обнаглели,
Они не столько обнаглели сколько заклинились в ковид, потом в кризис нехватки кремния уткнулись, потом - перестали вам чипы поставлять. Сейчас STMы есть на глобальных рынках, по вполне нормальным ценам. Россиянам их не очень возят просто.
> что уже куча китайских аналогов появилась. Причём, полных, причём, в несколько раз дешевле
Халявы нахаляву не бывает. Ужасные доки, более плохие электрические параметры и общая их китаезность типа приукраса спеков. Множество мелких отличий там и тут. Намного менее специфицированый кремний, половину полей спеков просто не заполняют, сами изучайте как оно вон там работает, удачи если вы в этом не специалист.
Вон лежит чудный RISCV за 30 центов. С периферией как у STM32. И было б это круто и все такое, но его шит исключительно на китайском. И я не китаец, миллиардами юнитов не ворочаю, поэтому свои иероглифы пусть сами учат. Даже если ST и получит лишнюю сотню баксов.
> продукцию купят почти за любую цену как показала история с видеокартами.
> Будут брать кредит или долго копить - но всё равно возьмут.А таки - работает. Если выставить цену миллион долларов за юнит - будет покупать лишь тот кто вообще совсем никак без этого обойтись не мог и замену не придумал.
Ща китайцы локдаун сняли, остальным тоже придется цены двигать. Иначе рыночек порешает. В этом аспекте STM32-like имеют плюс будучи по сути новым мультивендорным стандартом, как x51 в свое время. Если брать популярные типовые чипы типа F103, в случае чего можно отманеврировать на соседнего чипмейкера с умеренными проблемами. А если это что-то уникальное для 1 чипмейкера, что делать если он это с производства снял или с ценами охренел? STMicro кстати дало гарантии доступности всех 32F до как минимум 2030 года.
> компании задавили огромное количество производителей микроэлектроники и рассыпухи
У россиян никогда не было конкурентоспособных производств этого самого. Рассыпуха по параметрам была хлам, а сейчас кроме запада еще китай появился, он мало того что лучше россиян рассыпуху делает, так еще гонит ее вагонами, по цене песка под ногами.
Чем лучше Free RTOS?
Альтернативой
Больше пакетов...
Сколько китайцев делают твой фриртос? Вооот, а туда же.
фриртос это чисто базовая работа с задачами и всё, под максимальную производительность
Даже её разработчики делают ещё одну фриртось, которая лучше исходной
Название её - сейф-ртос( распространяется без исходников и продаётся за охапку зелёных рублей )Если в общем, то фриртось фактически ничего не гарантирует. Вроде бы работает быстро, но могут происходить очень серьезные провалы в скорости реакции
arm больно жирно, понимаю бы на arduino или esp12
Кому жирно, а кому-то и STM32F7xx в самый раз.
Слишком дорого. CH32V003
> Слишком дорого. CH32V003Пусть сначала документацию нормальную сделают, хотя-бы на инглише. А плачик на опеннете о ценах это прекрасно но тут и правда есть кто-то ворочающий тиражами где это актуально? Иначе время убитое на копание в кривой китаезной полудоке на узкоглазом выходит сильно дороже.
Товарищи, мне кажется или на первом скрине какая-то муть с ub?
Для примера сойдет. Переполнится и с нуля будет считать. Даже более в STM32 HAL есть счетчик, который переполняется таким же образом в штатном режиме.
Только компилятор вправе выкинуть count к чертям (переполнение знаковых UB), и либо заменить на while(true), либо выкинуть весь цикл, да и return он тоже в праве выкинуть.
или вы предлагаете каждый тик еще условную операцию задействовать?
а для чего она нужна?
Можно напрограммировать эмулятор Спектрума с поддержкой мультиколора, например.
UnrealSpeccy - это давно уже умеет
Ему нужны существенно бо́льшие вычислительные мощности. В данном случае "эмулятор" будет повторять видеоконтроллер Спектрума, а не просчитывать картинку целиком и выводить её с запазданием на 1-2 кадра.
эта ОС не для эмуляторов, а для работы с реальным железом в реальном времени. Спектруму нужна старая медленная память, поэтому такая железка ему не подходит
Зачем Вы пишете вздор про память для Спектрума? Лучше поищите реализацию на Атмеге со статическим ОЗУ. Заодно и эмулятор AY-3-8912 там увидите, который так хотели.
а зачем мне эмулятор AY-3-8912 - я себе звуковую карту собрал на YM2149, которая работает через LPT в DOS и играет все форматы VTX, PSG, AY, AYM, YM, HOB, PT1, PT2, PT3, STP, STC, PSC, ASC, GTR, FTC, SQT, FLS, FXM
> Зачем Вы пишете вздор про память для Спектрума? Лучше поищите реализацию на
> Атмеге со статическим ОЗУ. Заодно и эмулятор AY-3-8912 там увидите, который > так хотели.А можно взять даже древний F103, даже китайский клон за 1 бакс, и гнать с SD-карточки (хардварная железка есть) в хардварный же DAC, почти без участия софта. Это и сильно проще по софту, и память в флеше и рам на это не тратит, и места на SD карте столько что можно просто uncompressed WAV по сути в DAC в лобовую гнать. Качество звука кстати сильно лучше любого спекки будет, честные 12 битов и даже 2 канала можно.
Так это ему было надо, но он паять умеет не очень, просто в эмуляторах разбирается отлично. Для аутентичности каналов лучше три и смешивать на резисторах, как в оригинале, а не программно. Аудиофилы утверждают, что есть разница. На самом деле мало кто из спектрумистов слышал именно AY-3-8912, т.к. YM2149F стоила втрое дешевле.
Например для того, чтобы на одном из вёдер крутилась кооперативщина с предсказуемым интервалом выполнения.
Или например для того, чтобы не пихать в очередные "умные часы" 8 гиг флеша и рама.
Известно ли кому-нибудь какую ОС можно поставить на Motorola 68000 в Sega Mega Drive и MIPS R3000 на Sony Playstation 1?
На моторолу можно поставить Lisa OS исходники которой недавно опубликовали https://www.opennet.dev/opennews/art.shtml?num=58516
Я тоже думал что первый маки и ещё какие-то писишки наверняка бли же на этих цпушка, какие-то операционаки же там были.
Что самое интересное, во времена Маков, это были вполне себе функциональные ПК. Мне кажется, для большинства повседневных задач этого должно хватать.
Аппл 2 на MOS Technology 6502.
А зачем тогда вообще ОС ?
Просто необходимый для железки код и все ...
>требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУЭх, почему десктопную ОС с похожими требованиями никто не делает...
Зато никому нeнyжных RT-систем наплодили...
Потому, что такая "десктопная" ни один браузер не потянет, даже lynx.
А есть линукс чтобы поставить вместо андроида? Не эмулятор с chroot а полностью замена?
PostmarketOS, список поддерживаемого железа на сайте.
Yocto Linux тебе в руки.
systemd на неё ещё не портировали?
Сборки для Ардуины есть?
Есть:
https://reference.arduino.cc/reference/en/libraries/rt-thread/
https://github.com/onelife/Arduino_RT-Thread
RT-Thread Studio IDE даже лучше Atmel Studio и CubeMX вместе взятых - спасибо китайским братьям
Realtime с мьютексами, нуну