- Я не обобщаю, я подвожу к сложности реализации такой элементарной
сущности как условная переменная. Без которой нормально задачу не
решить. Да, её можно построить на базе пары семафоров, причём один
нужен в TLS (а в ThreadX есть TLS?), или можно сделать как в SDL,
по семафору на каждого ждуна (что реально плохо выглядит когда их
много -- я уже как-то писал про это). В данной задаче можно
схалявить и сделать недоделку (не являющуюся полноценной условной
переменной, но fk0(6968 знаков, 19.06.2020 00:55, ссылка)
- Выскажу ещё раз: FreeRTOS сырая недоделка, смысла особого, без реализации ряда перечисленного (см. ниже) не имеет и, хуже того, наоборот вносит существенные ограничения для программиста. Если бы стояла задача выбрать ОС для МК, то я бы скорей fk0(12815 знаков, 18.10.2019 02:15, ссылка)
- Задача в принципе решима... Но для начала следует понимать некоторые вещи, после чего придёт также понимаение, что не стоит пытаться её решать таким путём. fk0(3973 знаков, 02.01.2014 22:29)
- Требуемый объём работы впечатляет. VVB(903 знаков, 03.01.2014 10:30)
- Отказ от динамической памяти -- сомнительное занятие, подходящее лишь для маленьких программок: в системе физической памяти обычно меньше, чем используется всеми программами в разные моменты времени. Либо придётся изобретать свой самодельный fk0(3486 знаков, 03.01.2014 13:00)
- напомнило использование Nucleus в мобилках - kaaaaa(03.01.2014 14:34,
)
- Вариант с двумя операционками и штатно запущенном MPU хорош, надо подумать. TDD для микроконтроллеров предполагает три типа тестов (по частоте запуска: модульные, интеграционные, в "железе"; первые два типа запускаются на ПК). - VVB(03.01.2014 14:17)
- Вдогонку о другой теме. _Как-нибудь_ отладим это неспроста. Это некоторые люди не сделав свою работу пытаются спихнуть на программистов. Имею мнение, что разработку систем со сколько-нибудь сложным ПО и начинать нужно с ПО на макете, на PC. - fk0(03.01.2014 13:07)
- Кстати, кто-нибудь пользовался C++test? VVB(325 знаков, 03.01.2014 18:46, ссылка)
- В последнее время я наблюдаю много мифов. Мол можно взять волшебную программу и она сама всё сделает. При этом не имея никакой методики работы с ней. Что куда важней, как мне думается. И уж совершенно десятое дело, будет ли она запускаться fk0(558 знаков, 04.01.2014 00:03)
- Вы работали с трассировщиками? Возможность получить трассу без вмешательства в код больше никто (никакая методика, никакой отладчик) не обеспечит, любой компорт это вмешательство и использование библиотек Си, без которых в ином случае можно VVB(336 знаков, 04.01.2014 12:35)
- Ужос! Любой отладчик - вмешательство в алгоритм работы программы. Точка останова - уже жопа. Временные параметры нарушены. Пока ты сидишь в точке останова, таймер тикает, по USART-у (USB, Ethernet) данные прут, и что ты с этим сделаешь? Сбрасывая _basile(206 знаков, 04.01.2014 17:05 - 17:23)
- Снимаю лапшу с ушей. Цитирую документ по ссылке, начиная с раздела 8 (стр. 30): fk0(3963 знаков, 04.01.2014 14:42 - 14:47, ссылка)
- И что делать с этой трассой? А главное как (100мБайт в секунду, например) этот поток передать в компьютер, и как там обрабатывать? И что вообще понимается под трассой? (если то, что понимает микрочип -- это издевательство над здравым смыслом и fk0(1261 знаков, 04.01.2014 14:03 - 14:06)
- щетаю, что пока нет возможности запуска программ извне, то с защитой на MPU без MMU заморачиваться - себе же дороже. - Mahagam(02.01.2014 22:57)
- Тут очень любят рассуждать о RTOS и всём таком. Но как-то массово замалчивается, что стандартная C-библиотека для неопределённого ряда своих функций не допускает рекурсивных (вложенных) вызовов. fk0(4442 знаков, dao, полностью, 13.08.2011 15:54)
- Нефиг си пинать за то, что он не хаскель ;) Рэйлвэй Каген(357 знаков, 14.08.2011 15:15)
- IMHO но на удивление все обладают одним фатальным недостатком -- процесс не может ни ожидать более чем одного события одновременно, ни не обладает возможностью асинхронной коммуникации (вроде сигналов в unix) следует напомнить дону, что Vit(245 знаков, 13.08.2011 17:58)
- Да просто использовать надо нормальные инструменты, в которых threadsafe каждой функции оговаривается отдельно. По факту в RealView очень немного функций, который нужно в мютексы оборачивать. Alex B.(183 знаков, 13.08.2011 17:19 - 17:30, ссылка)
- Сильная, нечеловеческая вещь. Ницше плакал. - General(13.08.2011 16:59)
- Интересное наблюдение. - SciFi(13.08.2011 16:33)