Lyubimov 0 10 июля, 2012 Опубликовано 10 июля, 2012 · Жалоба Здравствуйте! В настоящее время существует довольно много ОСРВ, как коммерческих, так и открытых. Поделитесь, пожалуйста, опытом вашего использования ОСРВ и критериями выбора? Заранее спасибо за ответы! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Главный критерий выбора для новичка имхо доступные информационные ресурсы. По нему у меня победили кейловская RTX и FreeRTOS. Недавно натолкнулся на книгу создателя μC/OS - вроде неплохо всё описано, поставил в очередь для прочтения. PS: Стоит выделить еще ScmRTOS - полезна, если хотите писать программы на С++. Её авторы обитают на этом форуме. PPS: Про ОСРВ я слышал довольно давно, читал статьи, но реально осознал полезность, когда появились в разработке большие проекты - с несколькими интерфейсами, графическим дисплеем и т.д.. И обратно к конечным автоматам в суперлупе и самодельной синхронизации между ними не тянет. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewlekar 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Из ртос пробовал ucOS и FreeRTOS. Разницы в использовании практически никакой. ucOS позиционирует себя как серьёзную промышленную ось, но на деле всё кроме ядра (планировщик, семафоры) не особо практично и заменяется сторонними библиотеками. У FreeRTOS больше сообщество, сама ось бесплатная и достаточно активно развивается. В целом ртосы не так, чтобы сильно нужны были. Код с ними становится несколько чище, но появляются дополнительные проблемы с синхронизацией и вместо отслеживания одного стека приходится отслеживать десяток. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hamster1979 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Использовал scmRTOS, FREERTOS, keil RTX, немного TN_Kernel. Для scmRTOS доки на русском, все хорошо разжевано, минус для начинающего - С++ для встроенных приложений имеет свои особенности.но все равно рекомендую - исходники можно посмотреть, да и нравится она мне - правильная ось ИМХО. Много литературы по uCos читал-там тоже хорошо все документировано. P.S. -в итоге пришел к тому что средства синхронизации для маленьких проектов использую свои, основанные на шаблонах проектирования queue, event channel, observer/publisher. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Из FreeRTOS выковыриваете переключатель задач и живете спокойно. Все остальные прибамбасы заменяются одной атомарной операцией чтения\установки флага (две ассемблерных команды). Наличие всяких лишних причиндал - результат работы ЧСВ авторов. Подражание тем ОС, где выполняются независимые программы разных программистов. В вашем случае - вы все пишите сами. А всякие сторонние библиотеки, якобы написанные под данную ОС - враки. В реальности вам все равно разбираться в исходном коде и затачивать для себя... (использовать что-то в темную - это для смелых). В темную можно работать с линуксом. (Или виндами). Все остальное - токо проверять лично. Это было сугубое имхо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Это было сугубое имхо. Если мне не изменяет память, то несколько лет назад Вы не знали Си и сидели на асме, утверждая, что так проще. Кто знает, может еще через несколько лет будут пересмотрены взгляды и на ртосы? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Память вам изменяет. Последний и первый АСМ, который я знал - для 8051. У всех остальных - даже не начинал интересоваться. Кроме АРМ. Но ровно в той мере, которая нужна, чотбы правильно вытащить переключатель задач. Т.е. знаю даже не ассемблер, а просто систему команд. Процентов на 5%. А раз человек именно в этом разделе интересуется, то грузить его семафорами, мьютексами, стеками и прочим - только убить у него интерес. Тем более, что в реальной жизни все это не нужно. (Вернее, вы можете это применять, но также легко можете без этого обойтись). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Память вам изменяет. Последний и первый АСМ, который я знал - для 8051. У всех остальных - даже не начинал интересоваться. Кроме АРМ. Но ровно в той мере, которая нужна, чотбы правильно вытащить переключатель задач. Т.е. знаю даже не ассемблер, а просто систему команд. Процентов на 5%. Значит я не правильно понял Ваши посты в прошлых темах, которые просматривал, где Вы говорите, что не знаете языка Си - например. И почему-то запало, что был пост и про ассемблер. %) А по теме - можно использовать и свое. Но как бы не вышел Therac-25. Весьма наглядный пример. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Я и сейчас говорю, что я не знаю Си. Я на нем программирую. Да. Но сказать, что знаю - не могу. Вот Паскаль - я знаю. А вот Си - нет. Вот Шумахер может сказать, что он умеет водить машину. А я по сравнению с этим эталоном - не могу. Хотя и управляю ей, и передвигаюсь из точки А в точку Б. И даже имею права. Т.е для меня очень большой труд - разобраться в чужих программах. Т.е часто непонятны конструкции. Я же пользуюсь только простыми. Однозначными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lotor 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Т.е для меня очень большой труд - разобраться в чужих программах. Т.е часто непонятны конструкции. Я же пользуюсь только простыми. Однозначными. Поддержка чужого кода довольно частое явление. И не считаете ли Вы, что если проект написан другим человеком на "публичной" ртос, то это облегчит задачу в разы? Ведь те простые и однозначные конструкции для Вас могут не оказаться таковыми для стороннего программиста, волею судьбы поддерживающий проект созданный Вами ранее. Другой вопрос есть ли в этом заинтересованность. =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Student Pupkin 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Все остальные прибамбасы заменяются одной атомарной операцией чтения\установки флага (две ассемблерных команды). Уже второй раз в Ваших постах встречаю подобное высказывание ))) Наличие всяких лишних причиндал - результат работы ЧСВ авторов. Очереди сообщений, флаги, memory pool - все это, по-вашему, лишние причиндалы? И как Вы это смогли бы сделать без использования критических секций, а только лишь "одной атомарной операцией чтения\установки флага"??? Подражание тем ОС, где выполняются независимые программы разных программистов. Сейчас пишу под uCOS-II. В проекте, "где выполняются независимые программы разных программистов"... Топикстартеру - считаю, что uCOS предпочтительнее для начинающего, книга по ней очень хорошая. Помогает быстро понять основы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Да, это лишние причиндалы. Сущность у них одна. Просто заметьте, если процедура выделения памяти НИКОГДА не отказывает в этом программисту (в летящей ракете таких случаев не бывает) - то эта система никому не нужна. Очереди и семафоры - просто умное название совершенно стандартных процедур. И простых как 3 рубля. И посему делать их универсальными - нет смысла. Критические секции обслуживаются либо банальным запретом прерываний, либо теми же атомарными операциями. Что предпочтительно. Я вообще никогда прерывания не запрещаю. Кроме случаев, когда это требуется для настройки собственно прерываний. И вообще. ВЫ МОЖЕТЕ ИХ ИСПОЛЬЗОВАТЬ. НО ЛЕГКО ОБОЙДЕТЕСЬ И БЕЗ НИХ. Эта фраза тоже появляется в моих постах во второй раз. И опять таки. Есть читатели мануалов по использованию чужих программ. А есть писатели этих самых программ. Вот я не люблю читать. Просто пишу быстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Student Pupkin 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Есть читатели мануалов по использованию чужих программ. А есть писатели этих самых программ. Вот я не люблю читать. Просто пишу быстрее. Книгу по uCOS едва ли можно назвать мануалом. Вы ведь уже открывали ее, не так ли? А читалем становиться рано или поздно всякий (лучше рано, чем поздно). Не могли бы Вы высказаться по данной теме чуть подробнее. Конретно - высказаться по поводу флагов и очереди сообщений. Высказаться по поводу пула памяти. Поскольку ума не приложу, как это Вы можете обходиться без критических секций и только командами SWP/SWPB (я о ARM-инструкциях). Просто хочу убедиться, что, например, говоря о флагах, мы с Вами говорим об одном и том же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lyubimov 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Для меня было бы критичным наличие инструкции к портированию ОСРВ на определённую платформу. По FreeRTOS нашёл статьи в КиТ, но что - то про портирование там не нашёл, а другая документация платная. C++ в определённой мере даже плюс, так как привычнее. А µC/OS дорого стоит? И в чем отличие II от III? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Student Pupkin 0 11 июля, 2012 Опубликовано 11 июля, 2012 · Жалоба Для меня было бы критичным наличие инструкции к портированию ОСРВ на определённую платформу. По FreeRTOS нашёл статьи в КиТ, но что - то про портирование там не нашёл, а другая документация платная. C++ в определённой мере даже плюс, так как привычнее. А µC/OS дорого стоит? И в чем отличие II от III? Если требуется лицензионная чистота - uCOS отпадает. В чем отличия 2-ой и 3-ей версий - без понятия. Доки по FreeRTOS - freertos_docs.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться