RTOS для PIC ?

Do you have a question? Post it now! No Registration Necessary

Threaded View
Hi Andy !

 Совсем недавно 28 Jan 04 10:42, Andy Mozzhevilov писал к  Ruslan Mohniuc:

 AM>>> Следующий шаг - освоение RTOS :) Тоже много чего облегчает.
 RM>> А с какого уровня уже имеет смысл смотреть на RTOS?

 AM> Сложно сказать, нужно попробовать, чтобы понять. Я сейчас по
 AM> возможности стараюсь применять всегда. В общем случае, когда надо
 AM> обеспечить быстрое время реакции системы на асинхронное событие, при
 AM> этом не хочется заботиться от том, что например иногда в EEPROM может
 AM> заливаться файл настроек, и при
 AM> этом нужно ждать окончания записи и одновременно думать о
 AM> возможности возникновения таких событий.

А где-то такое счастье для пиков бывает?
Переползать лишь ради обретения этого счастья на менее знакомые контроллеры
пока не хочу.

А может, где в инете хорошие обзорные статьи про это порекомендуешь?


         WBRgrds
                   Ruslan


Re: RTOS для PIC ?
Hi Harry !

 Совсем недавно 28 Jan 04 09:54, Harry Zhurov писал к  Ruslan Mohniuc:

 AM>>> Следующий шаг - освоение RTOS :) Тоже много чего облегчает.
 RM>> А с какого уровня уже имеет смысл смотреть на RTOS?

 HZ>     С любого, когда задач больше одной и ресурсы позволяют юзать ОС.
 HZ> Сама программа при этом делается более прозрачной, а ее написание
 HZ> заметно облегчается и приносит одно удовольствие. :)

Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452 с его 16
килокоманд ПЗУ и полтора килобайта ОЗУ ?
Ладно, лежит еще на полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в два.

Под них чего-то более-менее серьезное из RTOS где-то сделано?
Куда смотреть?


         WBRgrds
                   Ruslan


RTOS для PIC ?
    Hello, Ruslan!

Сpд Янв 28 2004, Ruslan Mohniuc писал к Harry Zhurov по   поводу "RTOS для PIC
?."
 RM> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452 с
 RM> его 16 килокоманд ПЗУ и полтора килобайта ОЗУ ? Ладно, лежит еще на
 RM> полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в два.
Усе просто. У тебя есть 2 задачи? Поставь 2 пика! ;) Либо банально пиши стек
задач. Либо пишешь каждую задачу как свод последовательно исполняемых процедур
и оформляешь их входы в таблицу. Дальше в теле берешь ячейку позиции в таблице
и вызываешь обработчик задачи, потом следующий обработчик, потом в цикл. Каждый
обработчик вызывает функцию по номеру. Она что-то делает и в точке ожидания
(или просто свободного времени) возвращается изменяя значение ячейки номера
функции. Можно делать условные переходы по номерам функций. Сделать вложенные
функции с ожиданием события, например: ждем какое-то время и переходим к
функции такой-то или ждем нажатия клавиши и передаем код функции такой-то.
Естественно каждая функция работает так, если события нет - просто делаем ret
таким образом отдавая время другой задаче, если событие есть - выполняем
условие. Вобщем ничего сложного. Либо как вариант делаем такой список только
для одной нересурсоемкой задачи и крутим ее в прерываниях. а вторую крутим в
основном цикле как обычно. В сложных случаях с помощью макросов делается
многократное вложение.
 RM> Под них чего-то более-менее серьезное из RTOS где-то сделано?
 RM> Куда смотреть?
Даже не знаю куда и зачем смотреть если все пишется самостоятельно и компактно.
 RM>                    Ruslan
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?
Hi Maxim !

 Совсем недавно 29 Jan 04 00:42, Maxim Polyanskiy писал к  Ruslan Mohniuc:

 RM>> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452
 RM>> с его 16 килокоманд ПЗУ и полтора килобайта ОЗУ ? Ладно, лежит
 RM>> еще на полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в
 RM>> два.
 MP> Усе просто. У тебя есть 2 задачи? Поставь 2 пика!
У меня есть знакомый проект, в котором сейчас добавляют 4-й ПИК. причем не F84.

 MP>  ;) Либо банально пиши стек задач. Либо пишешь каждую задачу как свод
 MP> последовательно исполняемых процедур и оформляешь их входы в таблицу.

Hу, я как правило действительно имею дело с многозадачностью и как-то с этим
справляюсь.
Суть чужой RTOS для меня в том, что она должна чудесным образом видоизменять
мою программу так, чтобы я мог в нее добавить новый процесс, не меняя уже
имеющиеся. Разумеется, при условии "есть куда добавлять".
Ты же мне не предлагаешь писать многозадачную операционку на PC? А зачем мне в
микроконтроллере корячиться? Вдруг чужой хватит?

 RM>> Куда смотреть?
 MP> Даже не знаю куда и зачем смотреть если все пишется самостоятельно и
 MP> компактно.

Вероятно, тут все-таки у нас совсем разный подход. Я сейчас больше ремесленник,
чем художник. Даны исходные условия, требуется работоспособный удовлетворяющий
ТЗ результат. Для меня выгоднее, если я смогу быстрее справится с поставленной
задачей. И все. Если с помощью каких-то чужих примочек я это сделаю быстрее- я
обязательно хочу знать о таких примочках.
Си- это одна из таких примочек.
RTOS- может быть, еще одна.
Далее идет аппаратный эмулятор. Вот тоже говорят, что облегчает жизнь при
сложных задачах. Тоже интересно, но даже изучать вопрос сейчас не стану, не
потяну все сразу, загружусь и зависну :)
Уверен, что есть еще облегчающие жизнь ембиддера штуки, на которые я не обратил
внимания. Hо я хочу начинать их применять, хоть понемногу.


         WBRgrds
                   Ruslan


RTOS для PIC ?
    Hello, Ruslan!

Чет Янв 29 2004, Ruslan Mohniuc писал к Maxim Polyanskiy по   поводу "RTOS для
PIC ?."
 MP>> Усе просто. У тебя есть 2 задачи? Поставь 2 пика!
 RM> У меня есть знакомый проект, в котором сейчас добавляют 4-й ПИК.
 RM> причем не F84.
Зачастую это очень хороший вариант. Я очень люблю раскладывать реалтаймовые
задачи на всякие f819-е пики. Тем более что обычно они жрут 100%
производительности и не реализуемы в пределах rtos.
 RM> Hу, я как правило действительно имею дело с многозадачностью и как-то
 RM> с этим справляюсь. Суть чужой RTOS для меня в том, что она должна
 RM> чудесным образом видоизменять мою программу так, чтобы я мог в нее
 RM> добавить новый процесс, не меняя уже имеющиеся. Разумеется, при
 RM> условии "есть куда добавлять". Ты же мне не предлагаешь писать
 RM> многозадачную операционку на PC? А зачем мне в микроконтроллере
 RM> корячиться? Вдруг чужой хватит?
Hе - на pc конечно не предлагаю, тем более что это бред там чего-то писать
такого плана. Hо вот на контроллерах я писал... Причем на 16-х пиках.
 RM> Уверен, что есть еще облегчающие жизнь ембиддера штуки, на
 RM> которые я не обратил внимания. Hо я хочу начинать их применять, хоть
 RM> понемногу.
Я себе тоже слил посмотреть как люди пишут ;)
 RM>          WBRgrds
 RM>                    Ruslan
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Пятница Январь 30 2004 00:55, Maxim Polyanskiy wrote to Ruslan Mohniuc:

 RM>> У меня есть знакомый проект, в котором сейчас добавляют 4-й ПИК.
 RM>> причем не F84.
 MP> Зачастую это очень хороший вариант. Я очень люблю раскладывать
 MP> реалтаймовые задачи на всякие f819-е пики.

 А оно так и было задумано производителями этих контроллеров ;)

 Между собой их по I2C связываешь?


                                                   Георгий


RTOS для PIC ?
    Hello, George!

Пят Янв 30 2004, George Shepelev писал к Maxim Polyanskiy по  поводу "RTOS для
PIC ?."
 GS>  А оно так и было задумано производителями этих контроллеров ;)
 GS>  Между собой их по I2C связываешь?
однопроводной usart.
 GS>                                                    Георгий
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Суббота Январь 31 2004 00:03, Maxim Polyanskiy wrote to George Shepelev:

 GS>> А оно так и было задумано производителями этих контроллеров ;)
 GS>> Между собой их по I2C связываешь?
 MP> однопроводной usart.

 Обмен в одну сторону, или в обе?


                                                   Георгий


RTOS для PIC ?
    Hello, George!

Вcк Фев 01 2004, George Shepelev писал к Maxim Polyanskiy по  поводу "RTOS для
PIC ?."
 MP>> однопроводной usart.
 GS>  Обмен в одну сторону, или в обе?
Конечно в обе. Четкое разделение во времени.
 GS>                                                    Георгий
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Понедельник Февраль 02 2004 08:18, Maxim Polyanskiy wrote to George Shepelev:

 MP>>> однопроводной usart.
 GS>> Обмен в одну сторону, или в обе?
 MP> Конечно в обе. Четкое разделение во времени.

 И что будет, если какой-то контроллер "не отпустит" шину?


                                                   Георгий


RTOS для PIC ?
    Hello, George!

Сpд Фев 04 2004, George Shepelev писал к Maxim Polyanskiy по  поводу "RTOS для
PIC ?."
 MP>>>> однопроводной usart.
 GS>>> Обмен в одну сторону, или в обе?
 MP>> Конечно в обе. Четкое разделение во времени.
 GS>  И что будет, если какой-то контроллер "не отпустит" шину?
Взглюкнет. Hо все написано так, что этого не бывает, тесты опять-же не
показывают наличия глюков.
 GS>                                                    Георгий
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Среда Февраль 04 2004 08:21, Maxim Polyanskiy wrote to George Shepelev:

 MP>>>>> однопроводной usart.
 GS>>>> Обмен в одну сторону, или в обе?
 MP>>> Конечно в обе. Четкое разделение во времени.
 GS>> И что будет, если какой-то контроллер "не отпустит" шину?
 MP> Взглюкнет.

 Плохо!

 MP> Hо все написано так, что этого не бывает,

 Я привык не доверять подходу "этого не бывает". Законы Мэрфи
не дурак придумал ;)

 MP> тесты опять-же не показывают наличия глюков.

 А уровень тестов достаточный? Мои устройства (в десятках тысяч
экземпляров) не зависают годами, при условиях некачественного
питания и наличия "недрессированных" юзеров ;) Hо для этого
пришлось тщательно продумать алгоритмы выхода даже из тех
ситуаций, в которые очень сложно специально попасть...


                                                   Георгий


RTOS для PIC ?
    Hello, George!

Чет Фев 05 2004, George Shepelev писал к Maxim Polyanskiy по  поводу "RTOS для
PIC ?."
 GS>>> И что будет, если какой-то контроллер "не отпустит" шину?
 MP>> Взглюкнет.
 GS>  Плохо!
У меня в любом алгоритме связи предусмотренны таймауты и реакции на отсутствие
данных от слейв устройства. Опять-же в слейв устройстве есть логика
детектирования сброса от мастера, а тот кусок, что отправляет данные просто не
может не отпустить шину поскольку он в теле (не в прерываниях).
 MP>> Hо все написано так, что этого не бывает,
 GS>  Я привык не доверять подходу "этого не бывает". Законы Мэрфи
 GS> не дурак придумал ;)
Hа каждый закон мерфи найдется кнопка power. ;)
 MP>> тесты опять-же не показывают наличия глюков.
 GS>  А уровень тестов достаточный? Мои устройства (в десятках тысяч
 GS> экземпляров) не зависают годами, при условиях некачественного
 GS> питания и наличия "недрессированных" юзеров ;) Hо для этого
 GS> пришлось тщательно продумать алгоритмы выхода даже из тех
 GS> ситуаций, в которые очень сложно специально попасть...
Аналогично.
 GS>                                                    Георгий
  WBR!  Maxim Polyanskiy.


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Пятница Февраль 06 2004 08:27, Maxim Polyanskiy wrote to George Shepelev:

 GS>>>> И что будет, если какой-то контроллер "не отпустит" шину?
 MP>>> Взглюкнет.
 GS>> Плохо!
 MP> У меня в любом алгоритме связи предусмотренны таймауты и реакции на
 MP> отсутствие данных от слейв устройства.

 А рост потребления и рассеиваемой мощности при работе двух выходов
"навстречу" тебя не беспокоит? Или у тебя "открытый коллектор"?

 MP> Опять-же в слейв устройстве есть логика детектирования сброса от
 MP> мастера,

 Сброс-то откуда придёт?

 MP> а тот кусок, что отправляет данные просто не может не отпустить шину
 MP> поскольку он в теле (не в прерываниях).

 "Зависания" категорически исключаются?

 MP>>> Hо все написано так, что этого не бывает,
 GS>> Я привык не доверять подходу "этого не бывает". Законы Мэрфи
 GS>> не дурак придумал ;)
 MP> Hа каждый закон мерфи найдется кнопка power. ;)

 У меня специфические устройства, вроде телефонных разветвителей. Там
такой кнопки нету - подключил и должно годами работать без сбоев...



                                                   Георгий


RTOS для PIC ?
Hi Maxim !

 Совсем недавно 30 Jan 04 00:55, Maxim Polyanskiy писал к  Ruslan Mohniuc:

 MP>>> Усе просто. У тебя есть 2 задачи? Поставь 2 пика!
 RM>> У меня есть знакомый проект, в котором сейчас добавляют 4-й ПИК.
 RM>> причем не F84.
 MP> Зачастую это очень хороший вариант. Я очень люблю раскладывать
 MP> реалтаймовые задачи на всякие f819-е пики. Тем более что обычно они
 MP> жрут 100% производительности и не реализуемы в пределах rtos.
А передачу данных между ними тоже любишь организовывать? Когда каждому от
другого что-то нужно, причем асинхронно?

 RM>> Уверен, что есть еще облегчающие жизнь ембиддера штуки, на
 RM>> которые я не обратил внимания. Hо я хочу начинать их применять,
 RM>> хоть понемногу.
 MP> Я себе тоже слил посмотреть как люди пишут ;)
Кстати, одной из таких сильно облегчающих жизнь штук является си. Слей,
посмотри, как люди пишут.

         WBRgrds
                   Ruslan


RTOS для PIC ?

   Maxim, ты ещё здесь сидишь?


Четверг Январь 29 2004 00:42, Maxim Polyanskiy wrote to Ruslan Mohniuc:

 RM>> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452
 RM>> с его 16 килокоманд ПЗУ и полтора килобайта ОЗУ ? Ладно, лежит
 RM>> еще на полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в
 RM>> два.
 MP> Усе просто. У тебя есть 2 задачи? Поставь 2 пика! ;) Либо банально
 MP> пиши стек задач.

 Проще. Во многих PIC'ах есть "регистровые странички". Которыми
можно "щёлкать". Если задач две-три-четыре - получается вполне
пристойный механизм переключения между задачами ;-)



                                                   Георгий


Re: RTOS для PIC ?
Wed, 28 Jan 2004 15:38:07 +0300 Ruslan Mohniuc wrote to Harry Zhurov:

RM>  Совсем недавно 28 Jan 04 09:54, Harry Zhurov писал к  Ruslan Mohniuc:

AM>>>> Следующий шаг - освоение RTOS :) Тоже много чего облегчает.
RM>>> А с какого уровня уже имеет смысл смотреть на RTOS?

HZ>>     С любого, когда задач больше одной и ресурсы позволяют юзать ОС.
HZ>> Сама программа при этом делается более прозрачной, а ее написание
HZ>> заметно облегчается и приносит одно удовольствие. :)

RM> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452 с его 16
RM> килокоманд ПЗУ и полтора килобайта ОЗУ ?

    С какими мегабайтами, ты чего? MSP430F149: 60 кбайт ПЗУ, 2 кбайт ОЗУ;
ATmega16: 16 кбайт ПЗУ (8 килокоманд) и 1 кбайт ОЗУ. Реально ОС занимает около
1-1,5 кбайта кода, а ОЗУ - примерно 50 байт накладных на процесс (стеки
процессов это, в основном) + данные процесса + пару десятков байт на ядро. Т.ч.
на твоем 18-м пике все должно успешно работать, и тому есть реальное
подтверждение - в этой эхе есть люди, кто использует вытесняющую ОС на 18-м
пике. Если бы я с ними (18-ми) работал, я б тоже под них сделал.

RM> Ладно, лежит еще на полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в
RM> два.

    Да на фиг не надо столько - 16 килокоманд и 1.5 килобайта ОЗУ - вполне
приличные ресурсы. Для вытесняющей ОС еще надо, чтобы со стеками проц работал
нормально (а не как 16-й пик).

RM> Под них чего-то более-менее серьезное из RTOS где-то сделано?
RM> Куда смотреть?

    Если есть время и желание на эту тему, приходи ко мне на мыло.

--
H.Z.

harry.zhurov<antispam::at>ngs<antispam::period>ru

We've slightly trimmed the long signature. Click to see the full one.
RTOS для PIC ?
Hello Ruslan.

28 Jan 04 15:38, Ruslan Mohniuc wrote to Harry Zhurov:

 RM> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452 с его 16
 RM> килокоманд ПЗУ и полтора килобайта ОЗУ ?

этого достаточно для запyска даже вытесняющей ОС!
поpтиpованные на PIC18 я не знаю.

Из коопеpативных и поpтиpованных на ПИК18 есть salvo, jacos
http://jacos.narod.ru/ , есть дока на pyсском.
исходники платные (но недоpого, около 150 yе).

 RM> Куда смотреть?

вытестяняющая - uCOS-II, очень хоpошая докyментация (на англ.),
исходники можно найти. Есть ли поpт для ПИК18, надо см. на www.ucos-ii.com

есть менее мощная, но более компактная и шyстpая scmRTOS, написанная скpомным
Гаpии Жypовым на С++, но поpта для ПИК18 нет. Есть поpты для MSP430 и AVR,
можно посмотpеть, что надо сделать для поpтиpования.
http://scmrtos.narod.ru /

Alexey


RTOS для PIC ?
Hi Alexey, hope you are having a nice day!


29 Янв 04, Alexey Musin wrote to Ruslan Mohniuc:

 RM>> Куда смотреть?
 AM> вытестяняющая - uCOS-II, очень хоpошая докyментация (на англ.),
 AM> исходники можно найти. Есть ли поpт для ПИК18, надо см. на
 AM> www.ucos-ii.com

Порт есть, но нерабочий. В нем есть серьезные ошибки в процедурах
сохранения/восстановления контекста как минимум (это
то, что бросилось в глаза при просмотре исходников).

WBR,
    AVB

ICQ# 43835774
mailto: avb<at>dialup.etr.ru

RTOS для PIC ?
Hi Ruslan, hope you are having a nice day!


28 Янв 04, Ruslan Mohniuc wrote to Harry Zhurov:

 RM> Да, вам всем хорошо с мегабайтами, а если у меня только PIC18F452 с
 RM> его 16 килокоманд ПЗУ и полтора килобайта ОЗУ ? Ладно, лежит еще на
 RM> полке 18F8720, у которого ПЗУ в 4 раза больше,а ОЗУ- в два.

 RM> Под них чего-то более-менее серьезное из RTOS где-то сделано?
 RM> Куда смотреть?

У меня есть uCOS-подобная реально работающая операционная система для PIC18,
которая уже используется в реальных
коммерческих приборах.

Если есть желание ее реально использовать - пиши на мыло. Пока она конечно
заметно уступает uCOSу в наборе доступных
сервисов, но это дело ближайшего будущего.

WBR,
    AVB

ICQ# 43835774
mailto: avb<at>dialup.etr.ru

Site Timeline