|
|
  |
Выбор между FreeRTOS и scmRTOS, Помогите сравнить |
|
|
|
Sep 13 2008, 12:59
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(MrYuran @ Sep 13 2008, 13:24)  Для начала, по-моему, самое то. Для начала на ARM лучше FreeRTOS - ресурсов кушает поболе, но для ARM это менее критично, зато за счет этого более бескомпромисна и похожа на "большие" системы. От нее уже потом, как от серединки, можно в вверх/вниз двигаться.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 13 2008, 13:48
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(zltigo @ Sep 13 2008, 16:59)  FreeRTOS - ресурсов кушает поболе, но для ARM это менее критично Кстати, о птичках: а если использовать минимум сервисов и примочек, может, и ресурсов меньше потребуется? Тогда действительно, FreeRTOS более перспективна, она хотя бы официально признана википедией  Ещё: счас посмотрел - FreeRTOS на чистом си написана, без плюсов. Для кого-то это может быть важно. Жалко, что порт для 449 мсп-шки только, а у меня 149, надо будет искать 10 отличий...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Sep 13 2008, 17:55
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Lelikk @ Sep 13 2008, 14:11)  Процессор LPC2119, полистал исходники обеих ОС - но с ходу трудно понять, у какой какие особенности. Когда мне задают подобный вопрос, я отвечаю: основное отличие между этими ОС такое: Если вам не нужно в процессе работы программы создавать и удалять задачи, то вам подойдет scmRTOS и вы получите преимущества в скорости и количестве занимаемой памяти (как флеша, так и ОЗУ). Здесь на форуме была ветка, в которой я сравнивал эти ОС по памяти/скорости. Если вам надо динамически создавать/удалять задачи, то scmRTOS вам точно не подойдет, но вы можете посмотреть еще и на TNKernel, я ее не пробовал, но по отзывам она экономичнее FreeRTOS по памяти и пошустрее. Опять же, какой компилятор вы используете? scmRTOS на данный момент имеет "боевой" порт LPC только под IAR, в репозитории лежит рабочий, но довольно сырой порт под GCC дя AT91 и ADuC (пока нет возможности компилить ОС в thumb), портировать его на LPC дело буквально часа. Если вы используете Кейл, вам придется портировать ее самостоятельно.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Sep 13 2008, 18:13
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ Sep 13 2008, 19:55)  Когда мне задают подобный вопрос, я отвечаю: основное отличие между этими ОС такое: Если вам не нужно в процессе работы программы создавать и удалять задачи, то вам подойдет scmRTOS... Отнюдь, не только это. Просто на вскидку по функциональному минимуму: 1. Задачи с одинаковыми приоритетами (да, да, знаю, что в мануале scmRTOS пространно описана "ненужность", но лично мне нужно  ) 2. Количество задач - не столь важно, но тем не менее. 3. При большом количестве задач более простая организация тех-же таймеров scmRTOS начинает больше тормозить. 4. Функции API более простые, узкоспециализированнее их больше и они опаснее в использовании. 5. Вытесняющая и кооперативная многозадачность в одном флаконе. Наверноее что-то еще забыл  Цитата(MacGregor @ Sep 13 2008, 20:08)  И кстати, какое у Вас научное звание? Вы доктор наук? Профессор? А Вы только труды профессоров читаете  ? Совершенно зря  . И вообще никогда не высказываете СВОЕ мнение? Ну это Ваше право, только к чему совершенно непонятные упреки людям, которые выступают от своего имени? Moderator: То MacGregor - просьба высказываться по сути вопроса.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 13 2008, 18:14
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 15-12-07
Из: Москва
Пользователь №: 33 326

|
Цитата(Сергей Борщ @ Sep 13 2008, 21:55)  Когда мне задают подобный вопрос, я отвечаю: основное отличие между этими ОС такое: Если вам не нужно в процессе работы программы создавать и удалять задачи, то вам подойдет scmRTOS и вы получите преимущества в скорости и количестве занимаемой памяти (как флеша, так и ОЗУ). Здесь на форуме была ветка, в которой я сравнивал эти ОС по памяти/скорости. Если вам надо динамически создавать/удалять задачи, то scmRTOS вам точно не подойдет, но вы можете посмотреть еще и на TNKernel, я ее не пробовал, но по отзывам она экономичнее FreeRTOS по памяти и пошустрее. Опять же, какой компилятор вы используете? scmRTOS на данный момент имеет "боевой" порт LPC только под IAR, в репозитории лежит рабочий, но довольно сырой порт под GCC дя AT91 и ADuC (пока нет возможности компилить ОС в thumb), портировать его на LPC дело буквально часа. Если вы используете Кейл, вам придется портировать ее самостоятельно. Использовать я как раз скорее всего буду IAR, так что проблема портирования не стоит. Вероятно попробую я все же FreeRTOS, так особых требований к быстродейтсвию нет (нет критичного ко времени объекта управления), а совсем минималистичного инструментария не люблю.
|
|
|
|
|
Sep 13 2008, 18:55
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(MacGregor @ Sep 13 2008, 21:22)  Просто хотел бы ознакомится с научными трудами Сергея Борща А вы загляните в исходники порта scmRTOS для ARM... И приведите свои аргументы "за" и "против" обоих ОС. Цитата(zltigo @ Sep 13 2008, 21:13)  Отнюдь, не только это. Но это наиболее существенное (на мой взгляд) из отличий. Одинаковые приоритеты, да, согласен, плюс FreeROS. Количество задач - теоретически 64 для scmRTOS (практически сейчас 32). У меня пока больше 5 не было. Таймера - на большом количестве задач да, будет тормозить. На малом количестве - наоборот. Функции API - плюсовый компилятор гораздо строже к соответствию типов, так что насчет "опаснее" - спорно. Вытесняющая и кооперативная... А оно надо?
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Sep 13 2008, 19:06
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Сергей Борщ @ Sep 13 2008, 20:55)  Функции API - плюсовый компилятор гораздо строже к соответствию типов, так что насчет "опаснее" - спорно. Опаснее не в смысле неверного вызова, а в том смысле, что однотипные цели достигаются в разных условиях бОльшим количеством системных вызовов. Цитата Вытесняющая и кооперативная... А оно надо? Кооперативную, естественно, можно и ручками в любой из задач организовать, а можно и готовым механизмом воспользоваться. Ну а вообще кооперативная нужна, напрмер, для обслуживание некого количества однотипных каналов.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|