Вопрос

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

Основными ограничениями системы являются:

  • Ему нужен веб-интерфейс.
  • Входные данные должны обрабатываться в режиме реального времени (поэтому необходима настоящая RTOS).
  • Доступная память составляет 32 МБ RAM и FLASH.

Ранее команда использовала следующие операционные системы: VxWorks, ThreadX, uCos, pSOS и Windows CE.

Есть ли у кого-нибудь сравнение или торговое исследование относительно выбора операционной системы?

Существуют ли какие-либо другие операционные системы, которые нам следует рассмотреть?(Нам предлагались eCos и RT-Linux).

Изменить. Спасибо за все ответы на сегодняшний день.Жаль, что я не могу отметить все как «принято».

Это было полезно?

Решение

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

У меня большой опыт работы с vxWorks, и он мне нравится, но я не обращаю внимания на мое мнение, поскольку работаю в WindRiver.

Преимущество uC/OS II состоит в том, что она полностью документирована (как это фактически объясняется в исходном коде) в книге Лабросса.Хотя не знаю насчет веб-поддержки.

Я знаю, что pSos больше недоступен.

Вы также можете взглянуть на этот список ОСРВ

Другие советы

я работал с QNX много лет назад, и мне нечего сказать об этом, кроме хороших слов.Уже тогда QNX 4 (который явно был громоздким по сравнению с микроядром Neutrino) идеально подходил для ситуаций с нехваткой памяти (хотя 32 МБ — это нормально). уйма по сравнению с 1-2 МБ, с которыми нам приходилось играть), и хотя я явно не экспериментировал с какими-либо веб-материалами, я знаю, что Apache был доступен.

Я думаю, было бы разумно внимательно оценить, что вы подразумеваете под «RTOS».Я много лет работал в крупной компании, которая создает высокопроизводительные встраиваемые системы, и они называют их «реальным временем», хотя на самом деле это не так.Они имеют низкую задержку и имеют детерминированные планировщики, и в 9 случаях из 10 именно это люди и ищут, когда говорят об RTOS.

Истинный режим реального времени требует аппаратной поддержки и, вероятно, это не то, что вы на самом деле имеете в виду.Если все, что вам нужно, — это низкая задержка и детерминированное планирование (опять же, я думаю, именно это люди имеют в виду в 90% случаев, когда говорят «в реальном времени»), то любой дистрибутив Linux подойдет вам.Возможно, вы даже могли бы обойтись Windows (хотя я не уверен, как вы управляете планировщиком Windows...).

Опять же, будьте осторожны с тем, что вы подразумеваете под «в реальном времени».

Я купил некоторое оборудование для разработки у сетевой сжигательС ним было очень легко работать, и он очень хорошо документирован.Это RTOS под управлением uCLinux.С компанией приятно работать.

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

Оба имеют множество функций и драйверов для самых разных архитектур.Вы не упомянули, какую архитектуру вы будете использовать.Они предоставляют уровни POSIX, что полезно, если вы хотите оставаться максимально переносимыми.

Кроме того, лицензия на eCos и RTEMS распространяется по лицензии GPL, но с исключением: исполняемый файл, созданный путем компоновки ядра, не подпадает под действие GPL.

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

Мы очень довольны системой Keil RTX… она легкая, быстрая и отвечает всем нашим жестким ограничениям реального времени.Он также имеет несколько хороших встроенных функций отладки для мониторинга переполнения стека и т. д.

Я вполне доволен Windows CE, хотя она и «тяжелее».

Публикую, чтобы согласиться с Беном Коллинзом - вам действительно нужно определить, есть ли у вас требования к мягкому реальному времени (в первую очередь для человеческого взаимодействия) или к жесткому требованию к реальному времени (для взаимодействия с устройствами, чувствительными к времени).

Мягкость также может означать, что вы можете время от времени терпеть некоторую икоту.

Каковы требования к надежности?Мой опыт работы с более универсальными операционными системами, такими как Linux во встраиваемых системах, показывает, что они имеют тенденцию испытывать случайные сбои из-за их умной оптимизации для среднего случая, которая пытается избежать голодания и тому подобного для отдельных задач.

VxWorks хорош:

  1. хорошая документация;
  2. удобный инструмент разработки;
  3. низкая задержка;
  4. детерминированное планирование.

Однако я сомневаюсь, что WindRiver сосредоточит свое основное внимание на Linux, а WindRiver Linux ворвется на рынок WindRiver VxWorks.Меньше рынка, меньше требований к инженерам.

Вот последнее исследование.Последний был сделан более 8 лет назад, так что это наиболее актуально.Таблицы можно использовать для добавления дополнительных вариантов RTOS.Вы заметите, что это сравнение ориентировано на более легкие машины, но в равной степени применимо и к более тяжелым машинам, при условии, что виртуальная память не требуется.

http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top