Перейти к содержанию
    

ОСРВ, какую выбрать?

Если требуется лицензионная чистота - uCOS отпадает. В чем отличия 2-ой и 3-ей версий - без понятия.

Доки по FreeRTOS - freertos_docs.rar

 

Спасибо за доки. Но там что-то не описано как её портировать. Очень радует, что, судя по исходникам, для портирования надо написать всего несколько файлов.

Лецензионная чистота не совсем важна, просто желательна, неужели очень дорого?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за доки. Но там что-то не описано как её портировать.

А куда портировать хотите? Неужели нет готового?

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лецензионная чистота не совсем важна, просто желательна, неужели очень дорого?

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

А в том же FreeRTOS, как Вы видели - примеры под lwip, fatfs и т.п.

И потом у Вас проблемма портирования. Коли уж во FreeRTOS Вашей платформы нет...Возможно, scmrtos в этом смысле привлекательнее, поскольку с разработчиками Вы здесь пообщаться сможете. Разработчик TNKernel тоже здесь бывает.

 

все это мое имхо, конечно. :)

 

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

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

 

Кстати, по поводу того, что:

Очереди и семафоры - просто умное название совершенно стандартных процедур
Не просвятите, что это за стандартные процедуры? И почему, с Вашей точки зрения, добавлять, например, функции для работы с очередями сообщений является глупым (судя по Вашим словам). Речь идет о queue... Комментарий по поводу работы с memory pool тоже хотелось бы услышать. Поскольку эта лишняя причиндалина, присутствующая во всех rtos, как оказывается, нафиг никому не вперлась и присутсвует исключительно для повышения ЧСВ :) Вы против того, чтобы структура данных и несколько функций были частью kernel?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень радует

Тут стандартный вопрос: Вам шашечки или ехать? Не секрет, что железный уровень надо прописывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А куда портировать хотите? Неужели нет готового?

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

 

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

 

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

 

Большое спсибо за ответы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если моральные аспекты не тревожат, или есть лишние деньги, то Keil RTX - достойная ОСРВ для изучения и использования. Помедленнее, чем, scmRTOS, насколько мне удалось проверить. Зато отладка поддерживается самой средой Keil. Можно получить красивые картинки распределения задач по времени, проследить состояния задач.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендую eCos - очень сильно конфигурируемая штука, можно взять только то, что реально нужно (а есть там много всего)

GPL

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Protothreads. Не требует портирования, работает из коробки на всех архитектурах. Атомарность обеспечивается кооперативностью ОС, соответственно нет разного архитектурно-зависимого мусора типа планировщика, сохранения состояния/стеков и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Атомарность обеспечивается кооперативностью ОС,

Не забывайте, что атомарность надо обеспечивать и для прерываний.

соответственно нет разного архитектурно-зависимого мусора типа планировщика, сохранения состояния/стеков и т.д.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если моральные аспекты не тревожат, или есть лишние деньги, то Keil RTX - достойная ОСРВ для изучения и использования. Помедленнее, чем, scmRTOS, насколько мне удалось проверить. Зато отладка поддерживается самой средой Keil. Можно получить красивые картинки распределения задач по времени, проследить состояния задач.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс? (Я сам RTOS люблю и пользую, но чем дальше тем меньше аргументов нахожу за "в очередной раз придумывать все велосипеды").

Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.

Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс?

Несколько разные весовые категории.

И по цене и требованиям к аппаратуре.

 

Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.

Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.

Если цена не важна, то почему нет.

Другое дело, что linux ещё надо освоить. Лично мне сейчас это кажется неподъёмным и нереальным.

Но если у вас нет таких трудностей, то - вам проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

А в какой ситуации скажем ТНКернел при прочих равных лучше чем линукс? (Я сам RTOS люблю и пользую, но чем дальше тем меньше аргументов нахожу за "в очередной раз придумывать все велосипеды").

Если нужна многозадачность, но задачи "вялые", скажем четыре потока RS-232.

Интересует потребление. При этом разница в цене +20...30$ (больше RAM/FLASH нужно для линуха ), то это не аргумент.

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

 

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

За эталон надо брать MQX, ThreadX, VxWorks, Nucleus Plus...

 

Линукс тоже не смог снизиться на уровень задач микроконтроллеров.

Производители повально стали делать двух ядерные микроконтроллеры, один для RTOS другой для линукса.

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

За линуксом остался пользовательский интерфейс и через WEB в том числе и может быть сетевой стек.

Хотя с развитием облачных проприетарных технологий, еще не известно какие перспективы у стека линукса.

Как всегда будет отставать наверно, либо держаться за открытые кросплатформенные проекты, которые без труда можно перенести на любую ось.

Даже полевые шины типа CAN, RS485, EthetCAT... линуксу доверить нельзя, вернее тем бесплатным дистрибутивам.

Вообще линия раздела очевидна.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...