Встроенный Linux или eCos?

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

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

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

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

Какие-либо мысли или комментарии?Спасибо.

10
задан Mawg 20 April 2010 в 04:17
поделиться

3 ответа

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

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

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

(ИМХО, лучше) альтернативой eCos является RTEMS. ( http://www.rtems.com ). Он существует дольше и в последний раз, когда я проверял, поддерживает больше архитектур, чем eCos. Он также имеет PC BSP и работает под управлением qemu для эмуляции.

9
ответ дан 3 December 2019 в 17:57
поделиться

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

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

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

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

4
ответ дан 3 December 2019 в 17:57
поделиться

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

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

Linux по своей сути не работает в режиме реального времени. Для работы в реальном времени он часто сочетается с ядром реального времени, где Linux, по сути, работает как простаивающая задача или на целевых объектах с возможностью как отдельная виртуальная машина. Поэтому, если требуется детерминированный и быстрый отклик на внешние события, вам понадобится ОСРВ, такая как eCOS.

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

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

9
ответ дан 3 December 2019 в 17:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: