ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
947363 Топик полностью
Связанные сообщения
BigloopEmbedded OsRtosКсения
Подскажите про FreeRTOS. Можно ли её настроить на работу с вложенными прерываниями? Если что, архитектура ARM9.2022-11-07
Будка здесь больше не работает.2022-10-12
Два вопроса за раз хочу спросить, смежные в каком-то смысле: 1) есть литература или цикл статей может, по которым можно навести ...2022-06-28
А можно немного мыслей? Несмотря на кучу существующих ОС, набирающих разную популярность, всё же появляются новые. FreeRTOS, pro...2021-10-08
[Японские RTOS T-Kernel 2.0, μT-Kernel 3.0 и много других]. Регистрируют автоматом сразу, все дают качать. Очень качестве...2021-10-08
Очевидно, что без механизма ожидания -- получается полная ерунда, которая ничем не лучше биглупа. Когда событий станет мн...2020-12-06
RTOS для этой архитектуры. Список от 2016 года, но интересно.2020-08-23
Есть мысль перейти на RTOS для снижения временных затрат на реализацию программной части, отладку и профилировку. Важна поддержк...2020-06-18
Прототреды это биг-луп вывернутый наизнанку. Или наоборот. То же самое, что конечные автоматы им. Шалыто, switch-технология. Удо...2020-06-11
Есть ли "нормальный mutex" в IAR ARM ?2020-06-09
CTL (CrossWorks Tasking Library) Written in plain, portable C, Complete source code, No per-product or other runtime roy...2019-10-20
Выскажу ещё раз: FreeRTOS сырая недоделка, смысла особого, без реализации ряда перечисленного (см. ниже) не имеет и, хуже того, ...2019-10-18
Кооперативную не хотите попробовать? Написана на С, без ассемблера2019-09-02
Смотря какая ОС. В основном ОС делятся по типу: бывают корпоративные ОС и любительские.2019-03-20
Ты что-то не то говоришь. В тикле там свой встроенный цикл обработки событий, либо можно свой написать вместо него, смотря как у...2018-12-01
[Список RTOSов] всяких разных -> Проект osrtos.com2017-11-15
Новости от IAR2016-12-06
Вопрос для тех, кто любит давать советы про жизнь: куда можно попытаться устроиться на работу в Москве физику-теоретику (выпускн...2016-02-19
Обновлено: трехколесный вялошипет с квадратными колесами (многозадачка на Си). Рожалось в муках, труд всей жизни :)2015-11-16
Подход, если не нужно реальное вытеснение (т.е. критично время реакции), порочный: сложные системы в "больших компьютерах", наоб...2015-09-12
Кто-нибудь использует RTOS (не ядра) в своих проектах? Интересует их работа в защищённом режиме, взаимодействие пользовательског...2014-11-15
Вот и отличненько. Удалось значит понять суть: императивный стиль программирования повсеместно вдалбливаемый в (не)окрепший мозг...2013-07-31
Давно холиваров не было. Как насчёт RTOS vs Main Loop? Поделитесь практическим опытом. Сам RTOS не применял, да и не очень хочет...2013-07-24
Вышел новый Keil для ARM - MDK454. Положила в Будку без пароля =>2012-07-17
Там в 128 бит два числа упакованы, каждое по 64 бита. А надо, чтоб одно было такое длинное!2012-06-04
правильное использование RTOS - научите уму разуму2011-12-21
Вот колеблюсь, какую RTOS использовать для ARM7. Вот приглянулись TN Kernel, ScmRTOS. Советуют AMX и FreeRTOS. Кто что подскажет...2011-11-28
Топик посвящён программированию микроконтроллеров в условиях необходимости экономии электроэнергии и архитектуре ПО в целом.2011-10-24
Нефиг си пинать за то, что он не хаскель ;)2011-08-14
Тут очень любят рассуждать о RTOS и всём таком. Но как-то массово замалчивается, что стандартная C-библиотека для неопределённог...2011-08-13
Ось для cortex-M3, в которой декларируется: "Interrupt latency is 0". В документации сказано, что критические секции организован...2009-12-08
Статья про атомарный доступ к битовым полям.2009-03-03
Ксения (20.09.2019 15:15, просмотров: 1070) ответил Dingo на Навеяно топиком -> Собственно, что для вас значит [embedded OS] в контексте МК? Почему вы используете/не используете (вытесняющую, кооперативную, main loop)?
"В контексте МК" никаких задач не должно быть! :) Контроллер рассчитан на обслуживание периферии, а потому никаких других событий, помимо тех, что происходят на периферии, в его внутренней среде нет. А такие события, как правило, способны вызывать прерывания, не требуя пристального внимания со стороны процессора. Тем самым, сама собой реализуется идеальная система реального времени, т.к. прерывания в ответ на события происходят максимально быстро. Процедуры обслуживания событий естественным образом выполняются в обработчике соответствущего им прерывания, если система прерываний многоприоритетная. В сложных случаях в обработчике прерывания можно делать лишь самые срочные дела, не требующие отлагательства, а несрочную часть кода вынести в main_loop, где такие несрочные дела будут выполняться в порядке живой очереди. Однако разнообразные реализации не меняют главного, когда обслуживание события является конечной по времени процедурой, а потому называть его задачей неправильно. Тогда как задачи, в отличие от процедур обслуживания событий, имеют слишком долгое время жизни (чаще неограниченное во времени). Именно по причине своего долгожительства задачи не годятся на роль обработчиков событий, т.к. не успевают закончиться до момента наступления следущего события того же рода. Но самое гадкое в том, что сразу же возникает трудная проблема, когда задач-долгожителей становится больше одной. В последнем случае обслуживаться в порядке живой очереди они не могут, т.к. вторая по счету задача просто никогда не дождется своей очереди. Вот тут-то и появляется "вытесняющая многозадачность", которая проблему многозадачности решает, то слишком дорогой ценой. В микроконтроллерах (до тех пор, пока они и в самом деле были микро) эту цену стараются не платить, обходясь без многозадачности, а то и без задач вообще - на одних только обработчиках событий. Причем примечательно, что ту же стратегию мы видим и во взрослых операционных системах, например, в Windows, где, несмотря на тотальную многозадачность, внутри каждого из приложений мы наблюдаем всё ту же "микроконтроллерную философию", когда программа пишется в духе множества обработчиков отдельных событий, только поступающих не от системы прерываний, а из очереди присылаемых ей сообщений. Но в целом сходство поразительное! Причем, внутри windows-приложения возникают точно такие же проблемы, когда хочется запустить задачу, которая бы работала долго-долго. Обычно программисты старой закалки :) на этом месте съеживались, когда от консольных приложений переходили на windows-программирование.