Например TDA7294

 Форум РадиоКот • Просмотр темы - Вытесняющая многозадачная ОС. Практика AVR
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт фев 22, 2019 20:13:49



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 60 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Вт янв 22, 2019 14:26:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я тут своих тараканов гоняю... и забожалось мне делать это при помощи многозадачки.
изначально смотрел в сторону OSA - подкупило большое количество русскоязычной документации. но потом понял, что с ней возни больше, чем удобства - кооперативность и отсутствие локальных auto-переменных сводят весь кайф от многозадачности к минимуму.
поиск дал большое количество вариантов именно вытесняющих ОС, много и таких, что пригодня для AVR. но половина из них не сопровождена документацией и толковыми примерами, а вторая половина настолько сложно документирована и запутанно оформлена, что плохо поддается пониманию.

может, у кого-либо есть практический опыт применения подобных ОС, чтобы посоветовать? теория мне ясна, но вот нюансы практики...

разумеется, для AVR главный критерий выбора - минимальные требования к ОЗУ. и пока что я остановился (собственно, как взял, так и не бросаю, остальное не пошло с первого тыка, больше не предпринимал попыток) на YAVRTOS - пока что устраивет все, кроме весьма загадочной для меня системы mailbox-ов - не могу понять, в чем фишка и как ею пользоваться. это не очередь сообщений, а что-то странное, на одно сообщение, но с какими-то версиями... мне бы как раз очередь... причем, чтобы была готовая, чтобы на собственные грабли не наступать.

freeRTOS мне представляется слегка избыточно навороченной, хотя почти готов и ею заняться.

но прежде хотел бы послушать умных советов от практиков. таковые найдутся?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 05:21:59 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 100
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 529
Рейтинг сообщения: 0
RTOS, диспетчеры - выполняют одну единственную задачу - очередь. Это очередь процессов, но не алгоритм программы. Конечные автоматы вам в помощь.


Вернуться наверх
 
JLCPCB, 10 прототипов ПП всего за $2 и 2 дня доставка!

Крупнейший производитель печатных плат в Китае, 300,000+ заказчиков, 10,000+ он-лайн заказов в день.

Рассчитайте цену онлайн:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 08:44:52 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Мне нужна помощь в выборе и освоении конкретной RTOS, с которой "советчик" имел дело. Чтобы я мог задать конкретный вопрос по конкретной функции RTOS и получить ответ.

RTOS для меня реализует независимость нескольких бесконечных циклов (т.е. задач) "естественным" способом. То есть я не хочу заниматься тем, чтобы "дробить" свои циклы на состояния и потом по кусочкам их вручную исполнять. Я хочу написать while(1) и в нем свою логику так, как если бы это была полностью самостостоятельная программа, а не вот это вот все - я этих автоматов накушался, хочу легкой жизни! :)
И я так понимаю, что в этом и есть основное назначение любой RTOS.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 12:42:47 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 100
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 529
Рейтинг сообщения: 0
Но я надеюсь, вы понимаете, что RTOS не заменяет алгоритм.
Альтернативу автоматам я не нашёл. Близкое - прототреды. Но все таки не то. Те же облагороженные автоматы.
Вам никто не мешает использовать конечный автомат как самостоятельный процесс.


Вернуться наверх
 
Впервые на русском языке! «Поваренная книга разработчика аналоговых схем: аналого-цифровые преобразователи»

Практическое руководство «Разработчика аналоговой электроники по аналого-цифровым преобразователям», созданной инженерами компании Texas Instruments. Руководство содержит конкретные схемотехнические примеры, пошаговые инструкции с формулами, позволяющими адаптировать схему к конкретному проекту. Результаты расчетов дополнительно проверяются в программе SPICE-моделирования.
Подробнее...
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 13:06:19 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
У вас есть опыт работы с RTOS?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Впервые на русском языке! Работаем с микроконтроллерами STM32F7(на основе STM32F7 Online Training)

Цикл материалов на основе STM32F7 Online Training от компании STMicroelectronics.
Описаны функциональные блоки и инструменты разработки для семейства микроконтроллеров STM32F7, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы.
Подробнее...
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 14:12:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 151
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 2461
Рейтинг сообщения: 0
ARV берите FreeRTOS и МК как минимум с 20 КБ ОЗУ, которое нужно для задач.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 14:22:15 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Порт FreeRTOS под AVR существует, я в курсе.
Вы можете консультировать по этой ОС?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 14:45:59 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 151
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 2461
Рейтинг сообщения: 0
На AVR ее не запускал. Для задач нужна память. У каждой свой стек и служебные переменные. С минимальными параметрами получается больше 500 байт на задачу.
Про ОС можете прочитать в этом цикле статей. http://microsin.net/programming/arm/freertos-part1.html


Вернуться наверх
 
Prist.ru- удобный сайт для поиска, сравнения и покупки радиоизмерительных и электроизмерительных приборов, таких как: осциллограф, анализатор спектра, генератор сигналов, частотомер, мультиметр, лабораторный источник питания и др. На сайте есть актуальная информация о ценах и наличии приборов на складе.

Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 15:06:30 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Мурик писал(а):
Для задач нужна память. У каждой свой стек и служебные переменные. С минимальными параметрами получается больше 500 байт на задачу.
многовато. поэтому я как-то про freeRTOS в последнюю очередь думаю. упомянутая мною YAVRTOS в минимуме обходится 64 байтами стека и десятком байт на задачу. но не во всем устраивает, в частности, нет нормальной очереди сообщений. ну или я не понимаю, как сообщениями обмениваться в ней...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 15:30:14 
Модератор
Аватар пользователя

Карма: 74
Рейтинг сообщений: 748
Зарегистрирован: Пт мар 19, 2010 00:09:57
Сообщений: 3960
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
В freeRTOS размер стека для каждой задачи отводится пользователем.
А 500 байт - это для мощных МК с кучей служебных регистров, которые нужно сохранять при переключении задач.

По поводу доки. Очень понравилась вот эта статья :
Вложение:
FreeRTOS.pdf [4.1 MiB]
Скачиваний: 26

Очень хорошо всё разжёвывает автор....

_________________
Я мненью вашему вращенье придавал, а осью был - мой детородный орган.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 16:24:22 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 100
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 529
Рейтинг сообщения: 0
У вас есть опыт работы с RTOS?

У меня следующий опыт: кооперативные диспетчеры. Самописный вытесняющий. Позже сделал смешанный. Кооперативный и вытесняющий. Какую то RTOS-ку пробовал. Всё это было, когда я начинал. Потом мне указали на конечные автоматы. Более я даже не приближался ни к диспетчера, ни к RTOS. Попросту не было необходимости. А последние проекты были непростые.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 16:39:14 
Друг Кота
Аватар пользователя

Карма: 31
Рейтинг сообщений: 379
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 3191
Рейтинг сообщения: 0
На AVR ее не запускал

Запускал FreeRTOS на меге8 в протеусе, 2 блинк светодиода:
Код:
Device: atmega8
Program:    3874 bytes (47.3% Full)
(.text + .data + .bootloader)

Data:        621 bytes (60.6% Full)
(.data + .bss + .noinit)

тут это было:
https://radiokot.ru/forum/viewtopic.php ... 4#p3099914


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:02:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
поймите меня правильно: в положении буриданова осла находиться я не могу и не хочу. мне нужен не общий совет, не просто литература, даже хорошая, а конкретный совет типа "я делал, я знаю, если что - подскажу". я, в общем, не совсем тупой, во многом разбирусь сам быстро. но могут быть вопросы, сложные для меня - хотелось бы у кого-то спросить.

я сам попробовал две ОС - упомянутую уже и еще какую-то, даже не помню. "блинки" блимкали, но мне надо больше. а большее не понятно. в YAVRTOS вместо очереди сообщений mailbox-ы, причем описание работы с ними какое-то странное... в моем понятии должна быть очередь сообщений, или, если очередь на одно сообщение - пусть она зовется mailbox, но я не понимаю, когда в нем обновляется информация и как гарантируется, что одна и та же инфа не попадет дважды в обработку... намеки есть, но не уверен, что верно их понимаю.

аналогичные проблемы наверняка будут и с любой иной ОС. поскольку любое чтение документации требует последовательности, я могу погрязнуть в теории... поэтому и обратился с просьбой. литература, статьи - это все понятно. в каждой статье рассказывают о том, как два или три светодиода мигают параллельно - я это еще в институте изучал, и читать по 100 раз одно и то же (только названия функций разные) утомительно. 80% статей, которые я уже пытался изучать, дальше мигалки и не идут, дескать, после того, как помигал, очередь - это плевое дело и нехрен тут об этом писать... а мне надо именно обеспечить асинхронный обмен сообщениями между задачами, причем такой обмен, чтобы задача выбирала "задания" пока они есть, и исполняла их, а потом ждала, пока придут новые. классика - очередь сообщений. без ОС все простои понятно, в парадигме ОС должны быть системные штуки... при том, чтобы были простые и "маложрущие".

википедия дает примерно с 3 десятка ОС, пригодных для AVR - перепробовать все, чтобы найти подходящую, я не в состоянии. тем более, что кроме OSA и freeRTOS ни у одной нет нормального русскоязычного опсиания... кажется, еще scrmOS, что ли русская, но зато на C++ :( что тоже ме по мне.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:13:12 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 100
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 529
Рейтинг сообщения: 0
Лично я считаю, что у вас в данный момент смутное понимание текущего проекта или общих хотелок. Мой вам совет. Сесть и хорошо продумать текущую проблему, задачу. Когда будет четкое ТЗ, будет четкое понимание, что вам в действительности нужно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:15:14 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Demiurg писал(а):
У меня следующий опыт: кооперативные диспетчеры
ваш опыт уже понятен из других сообщений - базовое понятие конечного автомата (это, собственно, и есть программирование в принципе) вы возвели в абсолют. это так и есть, но кроме химических элементов есть и их соеднения высших порядков, с которыми неизмеримо приятнее иметь дело. мне надо, чтобы не я сам разбивал простую задачу на состояния (там, где это не оправдано алгоритмом верхнего уровня), а ОС делала это за меня, тупо отнимая управление и передавая "кому надо".

как я уже писал: есть задача, которая в бесконечном цикле ожидает команду от другой задачи, по команде посылает то или иное сообщение по USART, ждет ответа из него же и, при необходимости, посылает кому надо овет о выполнении. я бы хотел, чтобы все это выглядело как-то так:
Код:
while(1){
   switch(get_msg_from_queue()){
      case MSG1 : usart_send(STR1); break;
      case MSG2: usart_send(STR2); break;
      ...
   }
   while(!reseive_usart()) sleep(1);
   respond = usart_get();
   switch(respond){
   case RSP1 : // ну вы поняли...
   }
}
козе понятно, что конечные состояния этого алгоритма очевидны, но после того, как простой бесконечный цикл я изуродую ими, от красоты многозадачного подхода не останется ничего.

вероятно, вам мило, когда ничего понять нельзя... мне же мило, когда код читается, как простое словесное описание алгоритма, только на ограниченном словаре Эллочки-людоедки.
Demiurg писал(а):
у вас в данный момент смутное понимание текущего проекта или общих хотелок. Мой вам совет. Сесть и хорошо продумать текущую проблему, задачу. Когда будет четкое ТЗ, будет четкое понимание, что вам в действительности нужно
у меня все есть, я не хочу утомлять вас подробностями. мне нужно иметь возможость прото описать три-четыре бесконечных цикла, взаимодействующих между собой, но выполняющихся независимо.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:23:40 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 100
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 529
Рейтинг сообщения: 0
Когда изобретете красивый способ замены конечных автоматов, дайте знать. В личку. Я не возвожу конечные автоматы в абсолют. Попросту не нашел альтернативы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:28:17 
Друг Кота
Аватар пользователя

Карма: 31
Рейтинг сообщений: 379
Зарегистрирован: Сб сен 10, 2011 18:46:25
Сообщений: 3191
Рейтинг сообщения: 0
"блинки" блимкали, но мне надо больше

форум же тут "радиолюбительский", возможно надо спрашивать, например, где разделы соответствующие есть:
https://electronix.ru/forum/index.php?a ... ums&id=189


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 17:33:05 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 151
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 2461
Рейтинг сообщения: 0
Аlex писал(а):
А 500 байт - это для мощных МК с кучей служебных регистров
14 регистров это много, согласен. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 19:15:08 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 82
Рейтинг сообщений: 1306
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 13066
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Demiurg писал(а):
Когда изобретете красивый способ замены конечных автоматов, дайте знать. В личку. Я не возвожу конечные автоматы в абсолют. Попросту не нашел альтернативы.
конечные автоматы - это соль программирования, как я уже говорил. но время о времени надо пробовать и сахар.
сумеете так же понятно и просто описать вашим методом конечных автоматов вышеприведенный мной цикл? вряд ли. а простота кода лично для меня одно из основных критериев качества кода в принципе. меня нимало не беспокоит, что это внешняя красота, достигнутая чем-то невидимым и, возможно, уродливым (это я про ОС). но пользоваться этим кодом приятно и легко.

Добавлено after 1 minute 23 seconds:
oleg110592 писал(а):
форум же тут "радиолюбительский"
а я кто по-вашему?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Вытесняющая многозадачная ОС. Практика AVR
СообщениеДобавлено: Чт янв 24, 2019 19:46:48 
Опытный кот

Карма: 10
Рейтинг сообщений: 113
Зарегистрирован: Вс июн 19, 2016 10:32:03
Сообщений: 721
Рейтинг сообщения: 0
сумеете так же понятно и просто описать вашим методом конечных автоматов вышеприведенный мной цикл? вряд ли. а простота кода лично для меня одно из основных критериев качества кода в принципе.

Там вроде простой пример, всего 2 состояния, главное чтобы USART был буферизированный. Проверили очередь сообщений, если что-то есть, добавляем строку в очередь USARTa, переключаем состояние и выходим, в следующий раз проверяем входящую очередь USARTa, если ответ пришел, посылаем команду о выполнении и возвращаемся в первоначальное состояние ожидания сообщений.

Добавлено after 1 minute 8 seconds:
14 регистров это много, согласен. :)

Если есть FPU, а речь шла о мощных мк, то 128 байт уйдет только на 32 дополнительных регистра.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 60 ]  1, ,  



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: Combatos, YaCy [Bot] и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y