-
- Спрошу тут: - А как дела обстоят у std::thread? Особенно IAR
интересует, т.к. они громче всех кричат о поддержке современных
стандартов С++. - Costic(18.09.2023 19:32)
- В IAR нет, во всяком случае, я еще не видел версии где бы было. - AlexG(19.09.2023 03:23)
- Ну вот тут многим осрв нах не вКралась, у меня наоборот ни одного проекта лет так эдак 15 уже нет без освр. на дохлых пиках(PIC18) кооперативка, на жирных пиках, а теперь китайцах вытесняющая. Так, что это шо-то тебе правильно подсказывает. - abivan(18.09.2023 11:53)
- В случае USB CDC реализация стека обычно работает без привлечения фоновых потоков. Т.е. там напряга со срочным переключением задач как бы и нет (если самому такого не устроить). Всё-равно буферы нужны. Глубина буфера разменивается на частоту его выгрузки (это по приёму), по передаче и такого напряга нету. По сути вытеснение там уже сделано в обработчиках прерываний. - Vit(17.09.2023 08:42)
- Если список "чего могут захотеть прикрутить позже" больше трех - я бы поставил, меньше - не стал бы. - Cкpипaч(16.09.2023 22:36)
- Иногда по ряду причин не удается построить программу так, чтобы выполнялась кооперативная многозадачность (Короткие подпрограммы с быстрым выходом. Или как это любят называть "передачей управления" другим подпрограммам). Потому что необходимо намеренно прерывать долго работающий код, отдавать выполнение в MainLoop другим потокам-подпрограммам (например для обработки тех же флагов прерываний), а потом еще и восстанавливать работу алгоритма в прерванном месте. То есть RxTx(1039 знак., 16.09.2023 22:17)
- RTOS реально нужна для "параллельности" двух и более процессов,
работающих 1) медленно 2) по готовым библиотекам (например GUI +
Сhan FAT). Все остальное от лукавого и дело привычки. - VLLV(16.09.2023 17:58)
- Мне понравилось, что в отличии от линейно выполняемой программы
просто реализовать несколько процессов. Основной рабчий цикл -
измерение--индикация, цикл работы с компом через USB для выдачи
результатов, вспомогательные циклы. Все что раньше писал на state
mashine чтобы обеспечить мультитаскинг, тут делается прозрачно в
отдельных циклических задачах. - Mty1(16.09.2023 21:47)
- Понимаю, но мой мозг уже мыслит только состояниями автоматов. Говорю же - привычка :) И еще... Кооперативная многозадачность, без которой трудно добиться оптимальной производительности для всех задач, все равно предполагает добавление в обычную линейную программу передачи управления "кооператорам", нужно думать куда добавлять, и код получается не чистый. А с автоматами этот процесс инегрирован в написание кода. - VLLV(17.09.2023 09:17)
- Protothreads имени Адама Дункельса видели? - SciFi(16.09.2023 22:00)
- Нет, спасибо посмотрю. - Mty1(16.09.2023 22:28)
- Первоисточник и вариант для С++ ЫЫyкпy(2 знак., 17.09.2023 10:54, ссылка, ссылка)
- Спасибо! Под плюсы версию не видел, посмотрю. - Dingo(18.09.2023 06:22)
- Первоисточник и вариант для С++ ЫЫyкпy(2 знак., 17.09.2023 10:54, ссылка, ссылка)
- Видел стек usb для stm32 на прототредах - великолепно выглядит. - POV(16.09.2023 22:02)
- Имя, братик =) - RxTx(16.09.2023 22:18)
- Нет, спасибо посмотрю. - Mty1(16.09.2023 22:28)
- а стате мачин - это непрозрачно и сложно? - POV(16.09.2023 21:55)
- Порога несуществует. Но есть обратная связь между временем на разработку и сложностью задачи. Cкpипaч(345 знак., 16.09.2023 22:16)
- Мне понравилось, что в отличии от линейно выполняемой программы
просто реализовать несколько процессов. Основной рабчий цикл -
измерение--индикация, цикл работы с компом через USB для выдачи
результатов, вспомогательные циклы. Все что раньше писал на state
mashine чтобы обеспечить мультитаскинг, тут делается прозрачно в
отдельных циклических задачах. - Mty1(16.09.2023 21:47)
- Следуя этой логике, если приделывать веб-морду, без RTOS никак. Тем
не менее, у меня RTOS никогда не было, и желания не возникает. Я
могу понять, если нужно вставить большой чужой код, который может
работать только в контексте RTOS, но и в этом случае я, наверное,
вывернулся бы, сделав ему имитацию. - SciFi(16.09.2023 15:05)
- Пытаюсь присматриваться к использованию lwIP для F407, так там
какой-то заговор пользователей RTOS AlexBi(158 знак., 19.09.2023 07:01, картинка, картинка)
- А чем картинки плохи? Чем-то гиперлуп так занят что почесаться
некогда? POV(227 знак., 19.09.2023 09:38, картинка)
- Что-то странное. У меня довольно существенно отличается. - SciFi(19.09.2023 09:43)
- пример от Артери для их 407 брал - POV(19.09.2023 11:08)
- Что-то странное. У меня довольно существенно отличается. - SciFi(19.09.2023 09:43)
- Какой смысл в прерывании, если реагировать на пакет всё равно нужно
в контексте главного цикла? - SciFi(19.09.2023 08:10)
- Обработка далеко не всех пакетов требует привязки к главному циклу.
Например отдать текущее состояние можно без задержек, да и команды
в очередь поместить так же можно без задержек. При этом главный
цикл может измеряться секундами, а реакция на IP будет практически
мгновенной. - AlexBi(19.09.2023 09:15)
- Ну тогда весь lwip можно крутить в контексте прерывания с каким-то уровнем. Но это как-то странно. - SciFi(19.09.2023 09:19)
- Обработка далеко не всех пакетов требует привязки к главному циклу.
Например отдать текущее состояние можно без задержек, да и команды
в очередь поместить так же можно без задержек. При этом главный
цикл может измеряться секундами, а реакция на IP будет практически
мгновенной. - AlexBi(19.09.2023 09:15)
- Обнаруживать приход пакетов или другие события можно и в прерываниях, но вот сообщить стеку "тоби пакет!" из прерывания нельзя, ибо без оси переключать контекст некому. - ЫЫyкпy(19.09.2023 07:40)
- А чем картинки плохи? Чем-то гиперлуп так занят что почесаться
некогда? POV(227 знак., 19.09.2023 09:38, картинка)
- А я тут как раз хотел эту фриртос попробовать именно для обеспечения режима соккет на изернет.. Balda(79 знак., 16.09.2023 17:50)
- Даже веб-морда на поллинге вполне будет работать. Я вот не
представляю себе задач, которые невозможно без ртоси решить. А ещё
она ресурсы жрет... - Eddy_Em(16.09.2023 16:08)
- Есть много, брат Горацио, такого, что ты не представляешь :) - Cкpипaч(16.09.2023 21:54)
- Ну вот и хотелось бы узнать: что именно? Очень интересно просто. Ни
разу в жизни не сталкивался с задачами, требующими ртоси. (если
что, сетевую составляющую у меня всегда одноплатники реализуют,
т.к. тащить на Cortex-M3 ssh и прочий openssl - полный бред) - Eddy_Em(17.09.2023 00:20)
- Напомню, Win3.11 написана в *кооперативной мультизадачности. Исходя
из того, что Microsoft позже "все немножко переделали" это
более-менее верхняя граница применимости. Cкpипaч(540 знак., 17.09.2023 08:49 - 20:14)
- Кооперативной только. Не корпоративной =))) Кооперативка, не
корпоративка, лол. - RxTx(17.09.2023 20:12)
- Мда. Славная опечатка :-D - Cкpипaч(17.09.2023 20:14)
- Ну и какой смысл городить скаду на микроконтроллере? Eddy_Em(104 знак., 17.09.2023 11:35)
- Я выше написал. Банально, система управления дозированием. Cкpипaч(1 знак., 17.09.2023 16:43, ссылка)
- Не все микроконтроллеры одинаковы. А уж тем более, задачи для них.
Корпус минитауэр не помещяется в карман спецовки, иногда это
проблема :) - Cкpипaч(17.09.2023 16:38)
- ARM'янский процессор вместе с обвязкой очень даже помещается. Eddy_Em(185 знак., 17.09.2023 18:52)
- Как может быть дешевле устройство состоящее из двух плат, против
одной? Я уже не говорю, что всякие малинки-апельсинки вообще не
играют в высшей лиге по менеджменту питания.... Ты просто
скидываешь отсутствие компетенций в чужие устройства. Но честно
сказать об этом тебе не позволяет гонор. Вот ты и врешь про линукс
и проприетарщину. - my504(18.09.2023 08:01)
- Все компенсируется дешевизной разработки. Eddy_Em(37 знак., 18.09.2023 08:13)
- Смотря какие МК для вас халявные. Есть, например, CycloneTCP - AlexG(18.09.2023 08:34)
- Ну халявные - это которые 50 рублей и дешевле. Eddy_Em(720 знак., 18.09.2023 09:03)
- Зачем в фары и подъёмники CAN? Что за машина такая? - Звepoящep(18.09.2023 18:51)
- Такие вещи как стеклоподъемники и прочее, что не влияет на
безопасность и способность ехать, даже немцы, изобретатели этого
CAN, предпочитают сажать на LIN. Так оно на круг дешевле выходит. - ЫЫyкпy(18.09.2023 12:32)
- LIN тоже нужен преобразователь уровней. Eddy_Em(275 знак., 18.09.2023 13:12)
- Когнитивный диссонанс: искать контроллер подешевле для единичного изделия, тем более в любимый Гёц. - maik-vs(19.09.2023 01:10)
- Во, чё немцы сделали на стеклоподъёмники. На LIN. Бapбoc(44 знак., 18.09.2023 15:18, ссылка)
- Цена совершенно негуманная. Да еще и поди-ка купи с этими
ссанкциями… Eddy_Em(75 знак., 18.09.2023 15:43, ссылка)
- Покупается, как ни странно. Мне его драйвер совсем не нужен. Нужна температура кристалла до 175. - Бapбoc(18.09.2023 15:57)
- Цена совершенно негуманная. Да еще и поди-ка купи с этими
ссанкциями… Eddy_Em(75 знак., 18.09.2023 15:43, ссылка)
- LIN тоже нужен преобразователь уровней. Eddy_Em(275 знак., 18.09.2023 13:12)
- Ну халявные - это которые 50 рублей и дешевле. Eddy_Em(720 знак., 18.09.2023 09:03)
- Это зависит от тиража и коммерческой ценности разработки. Когда
твое (именно лично твое!) время безразмерно, зарплата практически
не зависит от результата, а бюджету наплевать на реализацию, то ты
можешь себя убеждать даже в приоритете розовых слоников, против
макаронного монстра... ))) - my504(18.09.2023 08:18)
- Нет, я, конечно, не против - если есть желающие, пусть натягивают
openssl на STM32F407 или даже F103. Eddy_Em(618 знак., 18.09.2023 08:54)
- Зачем липисинка? ESP32 наше всё - Звepoящep(18.09.2023 18:48)
- Я ее принципиально не использую: там ужасно убогая среда разработки. Eddy_Em(116 знак., 18.09.2023 19:03)
- Зачем липисинка? ESP32 наше всё - Звepoящep(18.09.2023 18:48)
- Нет, я, конечно, не против - если есть желающие, пусть натягивают
openssl на STM32F407 или даже F103. Eddy_Em(618 знак., 18.09.2023 08:54)
- Смотря какие МК для вас халявные. Есть, например, CycloneTCP - AlexG(18.09.2023 08:34)
- Все компенсируется дешевизной разработки. Eddy_Em(37 знак., 18.09.2023 08:13)
- Как может быть дешевле устройство состоящее из двух плат, против
одной? Я уже не говорю, что всякие малинки-апельсинки вообще не
играют в высшей лиге по менеджменту питания.... Ты просто
скидываешь отсутствие компетенций в чужие устройства. Но честно
сказать об этом тебе не позволяет гонор. Вот ты и врешь про линукс
и проприетарщину. - my504(18.09.2023 08:01)
- ARM'янский процессор вместе с обвязкой очень даже помещается. Eddy_Em(185 знак., 17.09.2023 18:52)
- Кооперативной только. Не корпоративной =))) Кооперативка, не
корпоративка, лол. - RxTx(17.09.2023 20:12)
- ну почему же бред? всё зависит от совокупной стоимости затрат при ожидаемом тираже, и дохода при. в одних случаях скидка на опт на одноплатник может заставить отказаться от окучивания мелкоконтроллеров, в других - 10 центов разницы изменят подход. работа программиста попадает в затраты. те же готовые стеки продаются за известные деньги. - Vit(17.09.2023 09:40)
- Твоя проблема в том, что ты считаешь свои задачи репрезентативными настолько, чтобы ты имел право высказывать категоричные суждения. Не требуется никаких особых протоколов, чтобы потребовалась ОС. Достаточно 2-х...3-х тяжеловесных блокирующих задач с невозможностью их вменяемого дробления. Что касается ресурсов, то РТОС их жрет не так уж много, чтобы об этом всерьез говорить. Латентности добавляет - это да. Но она предсказуема и учитываема. - my504(17.09.2023 09:23)
- Напомню, Win3.11 написана в *кооперативной мультизадачности. Исходя
из того, что Microsoft позже "все немножко переделали" это
более-менее верхняя граница применимости. Cкpипaч(540 знак., 17.09.2023 08:49 - 20:14)
- Ну вот и хотелось бы узнать: что именно? Очень интересно просто. Ни
разу в жизни не сталкивался с задачами, требующими ртоси. (если
что, сетевую составляющую у меня всегда одноплатники реализуют,
т.к. тащить на Cortex-M3 ssh и прочий openssl - полный бред) - Eddy_Em(17.09.2023 00:20)
- Есть много, брат Горацио, такого, что ты не представляешь :) - Cкpипaч(16.09.2023 21:54)
- Года 2 назад решил на одну плату стек вкорячить. Выбрал uIP, нашел
пример. Автор примера безапелляционно заявлял что-то типа "без ОСи
такое не сделать и бла-бла-бла.. потому фриртос и никак иначе"... POV(102 знак., 16.09.2023 15:10)
- Имана. Предрассудки. - SciFi(16.09.2023 15:20)
- Можно и на брейнфаке программировать. Но время - невосполнимый
ресурс, полно задач в которых критично время написания софта (от чистого листа до продакшн). Cкpипaч(91 знак., 16.09.2023 21:58)
- Это банально. Опытный инженер с наработками это понимает.. и
зачастую голосует в пользу собственных решений. - POV(16.09.2023 22:01)
- ...только деньги платит не он, а ему. Поэтому он молча делает так,
как велит "корпоративная практика". Которую не пионеры писали. Cкpипaч(77 знак., 16.09.2023 22:07)
- Так я ж не за то! Ессно никакого правила трех гвоздей.. сказали -
делает и никак иначе. Я про выбор решения если это позволено. - POV(16.09.2023 22:16)
- Я начинал с Модулы-2 под ДОС. С классической вытесняющей
мультизадачностью. Понравилось, но в реальности взаимодействия в
корпоративной мультизадачности отлаживается проще. Cкpипaч(298 знак., 16.09.2023 22:32)
- Если не взаимодействуют, то их ручками рассадить не стоит ничего. А
вот как раз связанные в той же фриртос корректно связать - уже
резко порог вхождения повышается. - POV(16.09.2023 22:33)
- Ничего не стоит? В Микрософт тоже так думали, а потом героически
решали проблему как приложения друг от друга изолировать. Так до
конца и не решили (ЕМНИП). - Cкpипaч(16.09.2023 22:38)
- Какие нахер придожения при монолитной сборке. Что ты несешь?! - POV(16.09.2023 22:53)
- А кто сказал "монолитная" ? Сам придумал? Полно полян где это не
так. - Cкpипaч(17.09.2023 16:45)
- Фриртос - монолитная сборка. Это же не линух, с отдельными от ОСи
приложениями. - POV(17.09.2023 18:48)
- POV, не тупи, совершенно не хочется общаться на таком уровне. Полно
устройств содержат встроенные интерпретаторы. Знаю устройства,
которые поддерживают подгрузку скомпилированных модулей. Да, именно
ось
обо всем этом безобразииничего не знает и что с того? - Cкpипaч(17.09.2023 18:49)- ЕМНИП, еще давно какие-то любители на STM32F4 даже линух
портировать умудрились. Eddy_Em(74 знак., 17.09.2023 18:59)
- Ничего особо там умудряться не надо. Аккурат ядро во флешку
влезает.. но собссно и всё на этом... POV(64 знак., 17.09.2023 19:31)
- Был бы смысл… - Eddy_Em(17.09.2023 19:40)
- нету его на Ф4 ... POV(103 знак., 17.09.2023 19:42)
- Дык, H7 — уже совсем другой разговор… - Eddy_Em(17.09.2023 20:05)
- нету его на Ф4 ... POV(103 знак., 17.09.2023 19:42)
- Был бы смысл… - Eddy_Em(17.09.2023 19:40)
- Динамическую загрузку таблиц (связанных графов с подстройкой указателей после загрузки) мы еще в начале девяностых делали. Работало больше десяти лет. Под ДОС. - Cкpипaч(17.09.2023 19:28)
- Ничего особо там умудряться не надо. Аккурат ядро во флешку
влезает.. но собссно и всё на этом... POV(64 знак., 17.09.2023 19:31)
- ЕМНИП, еще давно какие-то любители на STM32F4 даже линух
портировать умудрились. Eddy_Em(74 знак., 17.09.2023 18:59)
- POV, не тупи, совершенно не хочется общаться на таком уровне. Полно
устройств содержат встроенные интерпретаторы. Знаю устройства,
которые поддерживают подгрузку скомпилированных модулей. Да, именно
ось
- Фриртос - монолитная сборка. Это же не линух, с отдельными от ОСи
приложениями. - POV(17.09.2023 18:48)
- А кто сказал "монолитная" ? Сам придумал? Полно полян где это не
так. - Cкpипaч(17.09.2023 16:45)
- Какие нахер придожения при монолитной сборке. Что ты несешь?! - POV(16.09.2023 22:53)
- Ничего не стоит? В Микрософт тоже так думали, а потом героически
решали проблему как приложения друг от друга изолировать. Так до
конца и не решили (ЕМНИП). - Cкpипaч(16.09.2023 22:38)
- Если не взаимодействуют, то их ручками рассадить не стоит ничего. А
вот как раз связанные в той же фриртос корректно связать - уже
резко порог вхождения повышается. - POV(16.09.2023 22:33)
- Я начинал с Модулы-2 под ДОС. С классической вытесняющей
мультизадачностью. Понравилось, но в реальности взаимодействия в
корпоративной мультизадачности отлаживается проще. Cкpипaч(298 знак., 16.09.2023 22:32)
- Так я ж не за то! Ессно никакого правила трех гвоздей.. сказали -
делает и никак иначе. Я про выбор решения если это позволено. - POV(16.09.2023 22:16)
- ...только деньги платит не он, а ему. Поэтому он молча делает так,
как велит "корпоративная практика". Которую не пионеры писали. Cкpипaч(77 знак., 16.09.2023 22:07)
- Это банально. Опытный инженер с наработками это понимает.. и
зачастую голосует в пользу собственных решений. - POV(16.09.2023 22:01)
- Можно и на брейнфаке программировать. Но время - невосполнимый
ресурс, полно задач в которых критично время написания софта (от чистого листа до продакшн). Cкpипaч(91 знак., 16.09.2023 21:58)
- Имана. Предрассудки. - SciFi(16.09.2023 15:20)
- Пытаюсь присматриваться к использованию lwIP для F407, так там
какой-то заговор пользователей RTOS AlexBi(158 знак., 19.09.2023 07:01, картинка, картинка)
- Так нет никаких абстракций для работы с периферией. Нет во фриртос никакого смысла... POV(52 знак., 16.09.2023 14:31)
- Прав. У меня проект растет. Пока справляемся, разделив задачи между
разными контроллерами и вызывая их в прерываниях разного
приоритета. Nikolay_Po(93 знак., 16.09.2023 13:59)
- +1 В "цепях" временных ценностей т.с. и некоторой свободе выбора материальных, в ряде поставленных/выполненных задач многозадачность перекрывал мультипроцессорностью с шикарным ресурсным запасом основного управляющего "камня". Аппаратные возможности микроконтроллеров НЕУСТАННО растут. И стало понятно давно- к чему это всё делается. )) SERGHIO(96 знак., 17.09.2023 16:05)
- Спрошу тут: - А как дела обстоят у std::thread? Особенно IAR
интересует, т.к. они громче всех кричат о поддержке современных
стандартов С++. - Costic(18.09.2023 19:32)