реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> ОСРВ, какую выбрать?, Операционная систама реального времени
Lyubimov
сообщение Jul 10 2012, 15:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 16-04-11
Пользователь №: 64 408



Здравствуйте!

В настоящее время существует довольно много ОСРВ, как коммерческих, так и открытых.
Поделитесь, пожалуйста, опытом вашего использования ОСРВ и критериями выбора?

Заранее спасибо за ответы!
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 11 2012, 04:34
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Главный критерий выбора для новичка имхо доступные информационные ресурсы. По нему у меня победили кейловская RTX и FreeRTOS.
Недавно натолкнулся на книгу создателя μC/OS - вроде неплохо всё описано, поставил в очередь для прочтения.

PS: Стоит выделить еще ScmRTOS - полезна, если хотите писать программы на С++. Её авторы обитают на этом форуме.

PPS: Про ОСРВ я слышал довольно давно, читал статьи, но реально осознал полезность, когда появились в разработке большие проекты - с несколькими интерфейсами, графическим дисплеем и т.д.. И обратно к конечным автоматам в суперлупе и самодельной синхронизации между ними не тянет. sm.gif


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Jul 11 2012, 04:47
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Из ртос пробовал ucOS и FreeRTOS. Разницы в использовании практически никакой. ucOS позиционирует себя как серьёзную промышленную ось, но на деле всё кроме ядра (планировщик, семафоры) не особо практично и заменяется сторонними библиотеками. У FreeRTOS больше сообщество, сама ось бесплатная и достаточно активно развивается.
В целом ртосы не так, чтобы сильно нужны были. Код с ними становится несколько чище, но появляются дополнительные проблемы с синхронизацией и вместо отслеживания одного стека приходится отслеживать десяток.
Go to the top of the page
 
+Quote Post
Hamster1979
сообщение Jul 11 2012, 10:02
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 26-03-05
Пользователь №: 3 697



Использовал scmRTOS, FREERTOS, keil RTX, немного TN_Kernel. Для scmRTOS доки на русском, все хорошо разжевано, минус для начинающего - С++ для встроенных приложений имеет свои особенности.но все равно рекомендую - исходники можно посмотреть, да и нравится она мне - правильная ось ИМХО. Много литературы по uCos читал-там тоже хорошо все документировано.
P.S. -в итоге пришел к тому что средства синхронизации для маленьких проектов использую свои, основанные на шаблонах проектирования queue, event channel, observer/publisher.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jul 11 2012, 10:19
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Из FreeRTOS выковыриваете переключатель задач и живете спокойно.
Все остальные прибамбасы заменяются одной атомарной операцией чтения\установки флага (две ассемблерных команды).

Наличие всяких лишних причиндал - результат работы ЧСВ авторов. Подражание тем ОС, где выполняются независимые программы разных программистов. В вашем случае - вы все пишите сами. А всякие сторонние библиотеки, якобы написанные под данную ОС - враки. В реальности вам все равно разбираться в исходном коде и затачивать для себя... (использовать что-то в темную - это для смелых).

В темную можно работать с линуксом. (Или виндами). Все остальное - токо проверять лично.
Это было сугубое имхо.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 11 2012, 10:34
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(DpInRock @ Jul 11 2012, 14:19) *
Это было сугубое имхо.

Если мне не изменяет память, то несколько лет назад Вы не знали Си и сидели на асме, утверждая, что так проще. Кто знает, может еще через несколько лет будут пересмотрены взгляды и на ртосы? sm.gif


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jul 11 2012, 11:12
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Память вам изменяет. Последний и первый АСМ, который я знал - для 8051. У всех остальных - даже не начинал интересоваться.
Кроме АРМ. Но ровно в той мере, которая нужна, чотбы правильно вытащить переключатель задач. Т.е. знаю даже не ассемблер, а просто систему команд. Процентов на 5%.

А раз человек именно в этом разделе интересуется, то грузить его семафорами, мьютексами, стеками и прочим - только убить у него интерес.
Тем более, что в реальной жизни все это не нужно. (Вернее, вы можете это применять, но также легко можете без этого обойтись).



--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 11 2012, 11:40
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(DpInRock @ Jul 11 2012, 15:12) *
Память вам изменяет. Последний и первый АСМ, который я знал - для 8051. У всех остальных - даже не начинал интересоваться.
Кроме АРМ. Но ровно в той мере, которая нужна, чотбы правильно вытащить переключатель задач. Т.е. знаю даже не ассемблер, а просто систему команд. Процентов на 5%.

Значит я не правильно понял Ваши посты в прошлых темах, которые просматривал, где Вы говорите, что не знаете языка Си - например. И почему-то запало, что был пост и про ассемблер. %)

А по теме - можно использовать и свое. Но как бы не вышел Therac-25. Весьма наглядный пример.


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jul 11 2012, 11:53
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Я и сейчас говорю, что я не знаю Си. Я на нем программирую. Да. Но сказать, что знаю - не могу. Вот Паскаль - я знаю. А вот Си - нет.
Вот Шумахер может сказать, что он умеет водить машину. А я по сравнению с этим эталоном - не могу. Хотя и управляю ей, и передвигаюсь из точки А в точку Б. И даже имею права.

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


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 11 2012, 12:15
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(DpInRock @ Jul 11 2012, 15:53) *
Т.е для меня очень большой труд - разобраться в чужих программах. Т.е часто непонятны конструкции. Я же пользуюсь только простыми. Однозначными.

Поддержка чужого кода довольно частое явление. И не считаете ли Вы, что если проект написан другим человеком на "публичной" ртос, то это облегчит задачу в разы? Ведь те простые и однозначные конструкции для Вас могут не оказаться таковыми для стороннего программиста, волею судьбы поддерживающий проект созданный Вами ранее. Другой вопрос есть ли в этом заинтересованность. =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Jul 11 2012, 12:31
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(DpInRock @ Jul 11 2012, 14:19) *
Все остальные прибамбасы заменяются одной атомарной операцией чтения\установки флага (две ассемблерных команды).

Уже второй раз в Ваших постах встречаю подобное высказывание )))
Цитата(DpInRock @ Jul 11 2012, 14:19) *
Наличие всяких лишних причиндал - результат работы ЧСВ авторов.

Очереди сообщений, флаги, memory pool - все это, по-вашему, лишние причиндалы? И как Вы это смогли бы сделать без использования критических секций, а только лишь "одной атомарной операцией чтения\установки флага"???
Цитата(DpInRock @ Jul 11 2012, 14:19) *
Подражание тем ОС, где выполняются независимые программы разных программистов.

Сейчас пишу под uCOS-II. В проекте, "где выполняются независимые программы разных программистов"...

Топикстартеру - считаю, что uCOS предпочтительнее для начинающего, книга по ней очень хорошая. Помогает быстро понять основы.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Jul 11 2012, 13:41
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Да, это лишние причиндалы. Сущность у них одна.
Просто заметьте, если процедура выделения памяти НИКОГДА не отказывает в этом программисту (в летящей ракете таких случаев не бывает) - то эта система никому не нужна.
Очереди и семафоры - просто умное название совершенно стандартных процедур. И простых как 3 рубля. И посему делать их универсальными - нет смысла.

Критические секции обслуживаются либо банальным запретом прерываний, либо теми же атомарными операциями. Что предпочтительно. Я вообще никогда прерывания не запрещаю. Кроме случаев, когда это требуется для настройки собственно прерываний.

И вообще. ВЫ МОЖЕТЕ ИХ ИСПОЛЬЗОВАТЬ. НО ЛЕГКО ОБОЙДЕТЕСЬ И БЕЗ НИХ. Эта фраза тоже появляется в моих постах во второй раз.

И опять таки. Есть читатели мануалов по использованию чужих программ. А есть писатели этих самых программ. Вот я не люблю читать. Просто пишу быстрее.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Jul 11 2012, 14:16
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(DpInRock @ Jul 11 2012, 17:41) *
Есть читатели мануалов по использованию чужих программ. А есть писатели этих самых программ. Вот я не люблю читать. Просто пишу быстрее.

Книгу по uCOS едва ли можно назвать мануалом. Вы ведь уже открывали ее, не так ли? А читалем становиться рано или поздно всякий (лучше рано, чем поздно).
Не могли бы Вы высказаться по данной теме чуть подробнее. Конретно - высказаться по поводу флагов и очереди сообщений. Высказаться по поводу пула памяти. Поскольку ума не приложу, как это Вы можете обходиться без критических секций и только командами SWP/SWPB (я о ARM-инструкциях). Просто хочу убедиться, что, например, говоря о флагах, мы с Вами говорим об одном и том же...

Go to the top of the page
 
+Quote Post
Lyubimov
сообщение Jul 11 2012, 14:50
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 16-04-11
Пользователь №: 64 408



Для меня было бы критичным наличие инструкции к портированию ОСРВ на определённую платформу. По FreeRTOS нашёл статьи в КиТ, но что - то про портирование там не нашёл, а другая документация платная.
C++ в определённой мере даже плюс, так как привычнее.
А µC/OS дорого стоит? И в чем отличие II от III?
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Jul 11 2012, 15:00
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 23-05-08
Пользователь №: 37 760



Цитата(Lyubimov @ Jul 11 2012, 18:50) *
Для меня было бы критичным наличие инструкции к портированию ОСРВ на определённую платформу. По FreeRTOS нашёл статьи в КиТ, но что - то про портирование там не нашёл, а другая документация платная.
C++ в определённой мере даже плюс, так как привычнее.
А µC/OS дорого стоит? И в чем отличие II от III?

Если требуется лицензионная чистота - uCOS отпадает. В чем отличия 2-ой и 3-ей версий - без понятия.
Доки по FreeRTOS - Прикрепленный файл  freertos_docs.rar ( 1.56 мегабайт ) Кол-во скачиваний: 128
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 09:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016