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

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


Участник
*

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



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

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

Заранее спасибо за ответы!
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 40)
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
Lyubimov
сообщение Jul 11 2012, 15:15
Сообщение #16


Участник
*

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



Цитата(Student Pupkin @ Jul 11 2012, 21:00) *
Если требуется лицензионная чистота - uCOS отпадает. В чем отличия 2-ой и 3-ей версий - без понятия.
Доки по FreeRTOS - Прикрепленный файл  freertos_docs.rar ( 1.56 мегабайт ) Кол-во скачиваний: 128


Спасибо за доки. Но там что-то не описано как её портировать. Очень радует, что, судя по исходникам, для портирования надо написать всего несколько файлов.
Лецензионная чистота не совсем важна, просто желательна, неужели очень дорого?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 11 2012, 15:41
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Lyubimov @ Jul 11 2012, 18:15) *
Спасибо за доки. Но там что-то не описано как её портировать.

А куда портировать хотите? Неужели нет готового?
Кстати, один из критериев при выборе ОСи - наличие готовых портов под архитектуру, так как если есть готовое-проверенное, то зачем своё изобретать (возможно ещё и выйдет криво).

UPD: Это что под ARM нет Оси и без портирования никак?
Go to the top of the page
 
+Quote Post
Student Pupkin
сообщение Jul 11 2012, 16:06
Сообщение #18


Местный
***

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



Цитата(Lyubimov @ Jul 11 2012, 19:15) *
Лецензионная чистота не совсем важна, просто желательна, неужели очень дорого?

Исходники uCOS-а вы можете бесплатно скачать. Однако для легального применения в коммерческих разработках - судя по доке NXP лицензия на ядро uCOS-II около 5 килобаксов (не знаю, то ли это на год, то ли еще как...). Обычно коммерческие оси снабжаются TCP/IP стеком, USB device/host, gui и т.д. Что, как мне кажется, и делает их привлекательными для покупки. Так что в целом, думаю, дороговато будет.
А в том же FreeRTOS, как Вы видели - примеры под lwip, fatfs и т.п.
И потом у Вас проблемма портирования. Коли уж во FreeRTOS Вашей платформы нет...Возможно, scmrtos в этом смысле привлекательнее, поскольку с разработчиками Вы здесь пообщаться сможете. Разработчик TNKernel тоже здесь бывает.

все это мое имхо, конечно. sm.gif

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

FatFS-ом Вы пользуетесь. Сторонними JPEG-либами тоже не гнушаетесь. Почему у Вас в отношении kernel иное мнение? А как же повторное использование кода, структурное программирование и все дела? Как-то странно все это....

Кстати, по поводу того, что:
Цитата
Очереди и семафоры - просто умное название совершенно стандартных процедур
Не просвятите, что это за стандартные процедуры? И почему, с Вашей точки зрения, добавлять, например, функции для работы с очередями сообщений является глупым (судя по Вашим словам). Речь идет о queue... Комментарий по поводу работы с memory pool тоже хотелось бы услышать. Поскольку эта лишняя причиндалина, присутствующая во всех rtos, как оказывается, нафиг никому не вперлась и присутсвует исключительно для повышения ЧСВ sm.gif Вы против того, чтобы структура данных и несколько функций были частью kernel?
Go to the top of the page
 
+Quote Post
Canis Dirus
сообщение Jul 12 2012, 16:53
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 7-01-09
Из: Нефтеюганск
Пользователь №: 42 967



Цитата(_Артём_ @ Jul 11 2012, 21:41) *
UPD: Это что под ARM нет Оси и без портирования никак?

ChibiOS не подойдёт?


--------------------
С уважением, Алексей Шапошников.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jul 13 2012, 00:46
Сообщение #20


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Lyubimov @ Jul 11 2012, 18:15) *
Очень радует

Тут стандартный вопрос: Вам шашечки или ехать? Не секрет, что железный уровень надо прописывать.
Go to the top of the page
 
+Quote Post
Lyubimov
сообщение Jul 14 2012, 11:39
Сообщение #21


Участник
*

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



Цитата(_Артём_ @ Jul 11 2012, 21:41) *
А куда портировать хотите? Неужели нет готового?
Кстати, один из критериев при выборе ОСи - наличие готовых портов под архитектуру, так как если есть готовое-проверенное, то зачем своё изобретать (возможно ещё и выйдет криво).

UPD: Это что под ARM нет Оси и без портирования никак?


На ядро ARM Cortex m3. Для этого ядра, думаю порты есть почти у всех РТОС. Получается надо портировать не на ядро, а только лишь на МК.

Большое спсибо за ответы
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 16 2012, 08:07
Сообщение #22


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Если моральные аспекты не тревожат, или есть лишние деньги, то Keil RTX - достойная ОСРВ для изучения и использования. Помедленнее, чем, scmRTOS, насколько мне удалось проверить. Зато отладка поддерживается самой средой Keil. Можно получить красивые картинки распределения задач по времени, проследить состояния задач.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jul 16 2012, 08:22
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Рекомендую eCos - очень сильно конфигурируемая штука, можно взять только то, что реально нужно (а есть там много всего)
GPL
Go to the top of the page
 
+Quote Post
umup
сообщение Jul 16 2012, 08:36
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Protothreads. Не требует портирования, работает из коробки на всех архитектурах. Атомарность обеспечивается кооперативностью ОС, соответственно нет разного архитектурно-зависимого мусора типа планировщика, сохранения состояния/стеков и т.д.
Go to the top of the page
 
+Quote Post
Lotor
сообщение Jul 16 2012, 10:15
Сообщение #25


Местный
***

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



Цитата(umup @ Jul 16 2012, 12:36) *
Атомарность обеспечивается кооперативностью ОС,

Не забывайте, что атомарность надо обеспечивать и для прерываний.
Цитата(umup @ Jul 16 2012, 12:36) *
соответственно нет разного архитектурно-зависимого мусора типа планировщика, сохранения состояния/стеков и т.д.

Так же как и нет временного детерминизма. Protothreads удобная штука, но это не замена RTOS.


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


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007



По мере роста опыта и сложности проектов сначала всё делал на C. Потом попробовал FreeRTOS, с ходу не хватило ума разобраться, зато перешёл на Protothreads - имхо вещь просто отменная для тех, кто не хочет заморачиваться с ОСРВ, а суперциклы и ветвления становятся чересчур громоздкими. А теперь уже перешёл на scmRTOS, ибо шашечки C++ очень помогают, а всякие штуки типа файловой системы, ж/к дисплеев и прочих приблуд в наших проектах не нужны. Хотя как заметили выше, для FreeRTOS есть много готового кода. В общем, каждому по потребностям. Кстати, если вам интересна "популярность" той или иной ОС, можете поглядеть на https://www.google.ru/trends
Go to the top of the page
 
+Quote Post
Nixon
сообщение Jul 20 2012, 07:39
Сообщение #27


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Цитата(ViKo @ Jul 16 2012, 11:07) *
Если моральные аспекты не тревожат, или есть лишние деньги, то Keil RTX - достойная ОСРВ для изучения и использования. Помедленнее, чем, scmRTOS, насколько мне удалось проверить. Зато отладка поддерживается самой средой Keil. Можно получить красивые картинки распределения задач по времени, проследить состояния задач.

Моральные аспекты уже могут не тревожить - RTX уже free под bsd лицензией.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jul 20 2012, 19:54
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Вопрос очень созвучный теме, если не так- не пинайте сильно. не хочу новую тему создавать, холивар не нужен.

А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс? (Я сам RTOS люблю и пользую, но чем дальше тем меньше аргументов нахожу за "в очередной раз придумывать все велосипеды").
Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.
Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.
Вот еще надежность аргумент, но сейчас плату без вотчдога найти сложно, пересбросится линух и дальше побежит (если не каждый день, конечно).
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jul 20 2012, 20:12
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Ruslan1 @ Jul 20 2012, 22:54) *
А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс?

Несколько разные весовые категории.
И по цене и требованиям к аппаратуре.

Цитата(Ruslan1 @ Jul 20 2012, 22:54) *
Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.
Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.

Если цена не важна, то почему нет.
Другое дело, что linux ещё надо освоить. Лично мне сейчас это кажется неподъёмным и нереальным.
Но если у вас нет таких трудностей, то - вам проще.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 20 2012, 20:39
Сообщение #30


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Ruslan1 @ Jul 20 2012, 22:54) *
Вопрос очень созвучный теме, если не так- не пинайте сильно. не хочу новую тему создавать, холивар не нужен.

А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс? (Я сам RTOS люблю и пользую, но чем дальше тем меньше аргументов нахожу за "в очередной раз придумывать все велосипеды").
Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.
Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.
Вот еще надежность аргумент, но сейчас плату без вотчдога найти сложно, пересбросится линух и дальше побежит (если не каждый день, конечно).


За TNKernel ничего не скажу, это откровенно слабый проект из-за практически отсутствия промежуточного программного обеспечения как файловые системы, прикладной сетевой уровень, USB прикладных профилей, криптографии и проч.
За эталон надо брать MQX, ThreadX, VxWorks, Nucleus Plus...

Линукс тоже не смог снизиться на уровень задач микроконтроллеров.
Производители повально стали делать двух ядерные микроконтроллеры, один для RTOS другой для линукса.
Т.е. уже никто не верит, что линукс когда нибудь сможет надежно на одном ядре выполнять и пользовательский интерфейс и работу с сигналами в реальном времени.
За линуксом остался пользовательский интерфейс и через WEB в том числе и может быть сетевой стек.
Хотя с развитием облачных проприетарных технологий, еще не известно какие перспективы у стека линукса.
Как всегда будет отставать наверно, либо держаться за открытые кросплатформенные проекты, которые без труда можно перенести на любую ось.
Даже полевые шины типа CAN, RS485, EthetCAT... линуксу доверить нельзя, вернее тем бесплатным дистрибутивам.
Вообще линия раздела очевидна.

Go to the top of the page
 
+Quote Post
umup
сообщение Jul 21 2012, 05:49
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Цитата
Не забывайте, что атомарность надо обеспечивать и для прерываний.
это да, но зачастую удается обойтись даже без запрещения прерываний
Цитата
Так же как и нет временного детерминизма. Protothreads удобная штука, но это не замена RTOS.
еще не сталкивался с задачами где нужен детерминизм всех потоков точнее 1мс. Даже с двумя параллельными обменами по 1-wire проблем не было - 20 тредов укладывалось в один тик 1мс. Конечно если нужна точность - без прерываний не обойтись, но основным потокам это не мешает.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jul 21 2012, 07:03
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



_Артём_, спасибо.
AlexandrY, спасибо.

Прямо сейчас меня прельщает то, что, купив плату с линуксом, можно быстро накропать результат, работающий кое-как sm.gif и застолбить место, а дальше уже заняться вылизыванием продукта.
Лично мне, как железячнику, линукс не нравится (был отрицательный опыт на BF533 uClinux - проблемы при сигнализации из ядра в задачу пользователя), но , уверен, это моя проблема а не линукса, думаю опять вернуться в это поле систем "как у всех".
С точки зрения маркетинга линукс лучше, он на слуху и (якобы) проще что-то заменить-починить-поправить с помощью найденного за углом программиста, это плюс для потенциального заказчика.

В-общем, ясно. Если бюджет позволяет- то нужно закладывать что-то, куда можно поставить линукс. Дальше в случае чего никто не мешает снести его и поставить порт RTOS. То есть, в идеале, нужен проц, имеющий несколько вариантов уже портированных систем. У меня было такое с AT91RM9200 - купили плату с линуксом, но собственно линукс использовался для проверки железа, не более- он не тянул по нужной реалтаймовости (на малых тактовых), перешли на юкос и закрыли проблему.

Еще раз спасибо, буду копать в сторону low-cost плат-модулей, поддерживающих линукс и еще что-то, желательно побольше последовательных интерфейсов (RS232/485,CAN). Когда-то считал, получалось что своя плата выгодна от десятка единиц (если не-BGA) или штук от 50 (если BGA), до этого проще готовый модуль использовать плюс своя простая плата с специфической обвязкой. Но опять же, индивидуально все это..... Интересно, что из современного с поддержкой линукса без BGA бывает, наверное уже ничего... будем искать....
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jul 21 2012, 07:18
Сообщение #33


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(AlexandrY @ Jul 21 2012, 00:39) *
Хотя с развитием облачных проприетарных технологий, еще не известно какие перспективы у стека линукса.


Самые оптимистичные потому что для облачных сервисов как раз Linux в основном и используется.

Цитата
Даже полевые шины типа CAN... линуксу доверить нельзя


Расскажите это Volkswagen которые разработали для Linux SocketCAN а General Motors использует его в своих люксовых седанах
http://www.opennet.ru/opennews/art.shtml?num=33943
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jul 21 2012, 09:55
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(AlexandrY @ Jul 20 2012, 23:39) *
Производители повально стали делать двух ядерные микроконтроллеры, один для RTOS другой для линукса.

По Вашей же подсказке из другой темы пригляделся к LPC43xx
Хм. розничные цены собственно на камень на дижикее не пугают, да и не-BGA еще бывают
LPC4330 (LQFP144) : $12
"портовооруженность" на уровне: 4 UART+ 2CAN. Есть любимый мной External Memory Controller но как все это гнездится в случае 144-пинового крпуса еще не смотрел. Ядро(ядра?) на 120МГц жрет 25 mA/3.3V. Очень напрягает сплошное TBD в разделе даташита "Power consumption", на что рассчитывать неясно. sad.gif
Да и насчет отладочных средств непонятно (с ходу увидел только Keil LPC4357 Eval Board за $385). но уже интересно (может, на будущее, сейчас выглядит как из пушки по воробьям)
Upd: нашел такое за $59. здорово
http://microcontrollershop.com/product_inf...roducts_id=4840
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 21 2012, 20:46
Сообщение #35


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(sasamy @ Jul 21 2012, 10:18) *
Расскажите это Volkswagen которые разработали для Linux SocketCAN а General Motors использует его в своих люксовых седанах
http://www.opennet.ru/opennews/art.shtml?num=33943


Хм, самое время спросить не работает ли в тех "люксовых седанах" целая туча RTOS на поддержке того самого CAN-а.
Потому как если взять какую-нибудь платформу OMAP5, где аж два Corteх-M4 на подхвате, то оо..очень сложно будет сказать кто реально там чем занимается. wink.gif



Цитата(Ruslan1 @ Jul 21 2012, 12:55) *
По Вашей же подсказке из другой темы пригляделся к LPC43xx


LPC43xx это немного другая тема.
Я больше имел ввиду Vybrid от Freescale.
Модули, кстати, делать на таких чипах будет не очень разумно.
Лучше разработать свою технологическую платформу, которая сможет долго прослужить.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jul 22 2012, 08:02
Сообщение #36


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(AlexandrY @ Jul 22 2012, 00:46) *
самое время спросить не работает ли в тех "люксовых седанах" целая туча RTOS


обязательно работает, только это не означает что

Цитата
Даже полевые шины типа CAN... линуксу доверить нельзя


Цитата
Потому как если взять какую-нибудь платформу OMAP5, где аж два Corteх-M4 на подхвате, то оо..очень сложно будет сказать кто реально там чем занимается. wink.gif


а вы посмотрите для чего они там используются - тогда невероятных предположений поубавится sm.gif


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


Участник
*

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



Цитата(Ruslan1 @ Jul 21 2012, 15:55) *
По Вашей же подсказке из другой темы пригляделся к LPC43xx
Хм. розничные цены собственно на камень на дижикее не пугают, да и не-BGA еще бывают
LPC4330 (LQFP144) : $12
"портовооруженность" на уровне: 4 UART+ 2CAN. Есть любимый мной External Memory Controller но как все это гнездится в случае 144-пинового крпуса еще не смотрел. Ядро(ядра?) на 120МГц жрет 25 mA/3.3V. Очень напрягает сплошное TBD в разделе даташита "Power consumption", на что рассчитывать неясно. sad.gif
Да и насчет отладочных средств непонятно (с ходу увидел только Keil LPC4357 Eval Board за $385). но уже интересно (может, на будущее, сейчас выглядит как из пушки по воробьям)
Upd: нашел такое за $59. здорово
http://microcontrollershop.com/product_inf...roducts_id=4840

Тут можно много готовых модулей найти
http://starterkit.ru/html/index.php?name=shop&cat=6
Правда я всё ещё присматриваюсь.

Цитата(Aaron @ Jul 20 2012, 12:57) *
По мере роста опыта и сложности проектов сначала всё делал на C. Потом попробовал FreeRTOS, с ходу не хватило ума разобраться, зато перешёл на Protothreads - имхо вещь просто отменная для тех, кто не хочет заморачиваться с ОСРВ, а суперциклы и ветвления становятся чересчур громоздкими. А теперь уже перешёл на scmRTOS, ибо шашечки C++ очень помогают, а всякие штуки типа файловой системы, ж/к дисплеев и прочих приблуд в наших проектах не нужны. Хотя как заметили выше, для FreeRTOS есть много готового кода. В общем, каждому по потребностям. Кстати, если вам интересна "популярность" той или иной ОС, можете поглядеть на https://www.google.ru/trends

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

Цитата(umup @ Jul 16 2012, 14:36) *
Protothreads. Не требует портирования, работает из коробки на всех архитектурах. Атомарность обеспечивается кооперативностью ОС, соответственно нет разного архитектурно-зависимого мусора типа планировщика, сохранения состояния/стеков и т.д.

А где вы черпали информацию по этой теме?

Сообщение отредактировал Lyubimov - Jul 30 2012, 14:42
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Jul 30 2012, 15:33
Сообщение #38


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



sm.gif гугл + самостоятельное копание:

http://dunkels.com/adam/pt/
http://code.google.com/p/protothread/wiki/UsersGuide
http://atomthreads.com/
http://bsvi.ru/tag/protopotoki/

Сообщение отредактировал ukpyr - Jul 30 2012, 15:39
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jul 30 2012, 17:22
Сообщение #39


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Lyubimov @ Jul 30 2012, 17:25) *
А где вы черпали информацию по этой теме?

Это все очень далеко от темы. Да и вообще, называть десяток макросов осью, слишком громко. sm.gif
Но работает. Когда надо поболее риалтаймовости, прототреды выполняются из прерываний...
Go to the top of the page
 
+Quote Post
Lyubimov
сообщение Jul 31 2012, 13:07
Сообщение #40


Участник
*

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



А каким образом вы применяли ОС? Сколько потоков вам требовалось? Сильно ли приходилось дорабатывать её? Осложнялась ли работа с периферией?
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Jul 31 2012, 13:58
Сообщение #41


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



мне пока хватало 12 потоков.
удобно разбивать программу на независимые модули - работа с индикацией, клавиатурой, связь, работа с автоматикой (state machine любой сложности, с таймерами реализуется элементарно).

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

к работе с периферией наличие ОС не имеет почти никакого отношения. Вся работа с периферией выносится в отдельные функции/макросы, в результате все элементарно портируется на другие архитектуры (напр. портировал один проект (~14K Flash, AVR-GCC/ARM-GCC) с Atmega16 на STM32F100 за один вечер, причем сохранилась возможность компиляции под АВР).

Сообщение отредактировал ukpyr - Jul 31 2012, 14:08
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 Текстовая версия Сейчас: 20th July 2025 - 18:16
Рейтинг@Mail.ru


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