Вопрос

Один из способов взглянуть на это - embedded Linux начинается с настольного Linux и исключает части, не необходимые для встраиваемых систем (это действительно так?), в то время как eCos разрабатывается с нуля для встраиваемых систем.

Теперь предположим, что это ARM-процессор, вероятно, ARM 7 - имеет ли значение производительность?На самом деле, мы говорим об очень низкой загрузке системы, максимум 500 транзакций в день.

Есть какие-нибудь преимущества одного перед другим (или FreeRTOS и т.д.)?Стабильность, зрелость, производительность, инструменты разработки, что-нибудь еще?

Все, о чем я могу думать, это о том, что если я определенный что я никогда не буду переносить на другой o / s, тогда, если я использую встроенный Linux, мне не нужен уровень абстракции o / s, чтобы я мог выполнять модульное тестирование на хосте (desktop Linux box).

Есть какие-нибудь мысли или комментарии?Спасибо.

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

Решение

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

ECOS и Linux имеют разные цели. Linux предназначен для полнофункциональной единой системы Unix, и, следовательно, не так обеспокоен минимальными системными требованиями. ECOS - это операционная система реального времени, предназначенная для систем, которые часто ограничены ресурсами. Существует много перекрытия между двумя ОС, и во многих ситуациях оба они будут работать одинаково хорошо.

По моему опыту, если ваша система имеет ресурсы, и ваши требования нетривиальные, разработка будет быстрее с Linux. Легко найти компетентных разработчиков Linux, чем разработчики RTOS, инструменты дешевле, процессы защищены друг от друга, вы, как правило, имеют лучшую видимость в бегущей системе и т. Д.

(Лучше, ИМХО) Альтернативы ECOS - RTEMS (http://www.rtems.com.). Это было уже дольше, и в прошлый раз я проверил, поддерживал больше архитектур, чем ECOS. Он также имеет ПК BSP и работает под QEMU для эмуляции.

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

Нет реальной выгоды в положении Linux на ARM7 IMO; ARM7 не имеет MMU и защиту памяти - это основная причина использования ОС, таких как Linux. UCLinux будет работать по целям без MMU, но вы потеряли одну из самых убедительных причин использования Linux, и все равно нужны огромные ресурсы памяти (вспышка 4M, 16M RAM будет разумным минимумом).

Многие устройства ARM7 не имеют внешних шин памяти для прикрепления этой много памяти, а на микросхеме Flash и ОЗУ обычно диапазон 32K до 1 м в зависимости от устройства.

Linux не является искренным «в режиме реального времени». Для возможности в реальном времени она часто связана с ядром в реальном времени, где Linux по существу работает как задача холостого хода или на целях с возможностью в качестве отдельной виртуальной машины. Таким образом, если детерминированная и быстрая реакция на внешние события является требованием, вам понадобится RTOS, такие как ECOS.

В ECOS отлично подходит тем, что она имеет большую экосистему дополнительных функций и поддержку устройств, которые соперники большинство коммерческих предложений. Однако что-то вроде FreeToss, вероятно, будет легче «доводить», но предоставлять не более чем планировщика ниток и механизмы межпроцессных коммуникаций. Материалы, как файловая система или TCP / IP должны быть получены из третьих сторон (хотя там одинаково небольшие и бесплатные решения, подходящие для встроенных систем для этого).

Если вы используете простое ядро, такие как FreeTOS или UC / OS-III, вы не потеряли слишком много времени, поэтому инвестиции не являются ингибитором для использования чего-то еще в следующий раз. Linux, с другой стороны, вполне может отговорить вас от использования чего-то меньшего и более узко нацеленного в следующий раз, и в следующем времени экскурсию в последующие проекты могут быть значительно больше, чем они должны просто поддерживать вашу ОС выбора.

Встроенный Linux == Linux в 99% всех случаев.Вы просто настраиваете ядро по-другому.

Самое большое различие в производительности заключается в том, что с eCos вы можете, в зависимости от вашей реализации / конфигурации, иметь ожидаемое время отклика, в то время как с Linux вы находитесь во власти контроллера прерываний.

У Linux гораздо больше поклонников, чем у eCos, поэтому он оказывает больше помощи в разработке и поддерживает широкий спектр процессоров.Также, в зависимости от того, какие драйверы вам нужны, вы можете скомпилировать и запустить свою программу на ПК под управлением Linux.

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

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