ОСРВ для Cortex M4 со стеком 802.15.4 / 6LoWPAN

8

Я оцениваю операционные системы для использования в проекте Internet of Things и не знаю, как лучше поступить.

Я использую микроконтроллер TM4C123GH6PM с 32 Кб оперативной памяти и приемопередатчиком CC2520 802.15.4, было бы замечательно, если бы система уже предоставила драйверы для них.

Система запустит одну (интерактивную) задачу, которая отображает экран точечной матрицы и реагирует на ввод пользователя. Он будет хранить конфигурацию и данные приложения на spi flash. Будет сеть из нескольких модулей (на основе стандарта 802.15.4) для синхронизации данных между модулями, извлечения данных датчиков из модулей и передачи их на шлюз (вспоминается rpl), а также для распространения обновлений прошивки OtA в виде сплетен. нравится мода. Все это при запуске довольно жадного до памяти приложения.

До сих пор я изучал эти системы:


Бунт :

профи

  • хорошая аппаратная абстракция
  • маленький след
  • очень активное и полезное сообщество
  • полный стек 802.15.4 / 6LoWPAN

минусы

  • нестабильный, все еще претерпевает фундаментальные изменения
  • все еще содержит условия гонки / сбои
  • нет поддержки файловой системы
  • несколько сетевых протоколов

Контики :

профи

  • зрелая система, используемая в коммерческих продуктах
  • полный стек 802.15.4 / 6LoWPAN со многими полезными протоколами
  • поддержка файловой системы
  • поддержка cc2520

минусы

  • развитие стало устаревшим
  • «взрослая» кодовая база, много гнилой
  • плохое качество tiva c port
  • небольшая поддержка современных платформ
  • Непрерывное планирование может вызвать проблемы с приложением

FreeRTOS :

профи

  • немного дополнительной сложности
  • простой в использовании, надежный планировщик
  • зрелый проект, используемый во многих продуктах
  • много портов

минусы

  • нет файловой системы
  • без аппаратной абстракции для драйверов / без аппаратных драйверов
  • нет сетевого стека
  • несколько высокое использование динамической памяти

NuttX :

профи

  • очень многофункциональный, почти как Linux, но все еще маленький
  • поддержка файловой системы
  • хорошая аппаратная абстракция
  • Порт Tiva C, много других портов

минусы

  • несколько сложный
  • нет поддержки 802.15.4 / 6LoWPAN, просто «классическая» сетка

Мой вывод заключается в том, чтобы взять хорошие части Contiki (netstack, файловая система) и перенести их на FreeRTOS. Но мне не совсем удобно с такой вилкой. Я, вероятно, добавляю ошибки и не смог бы создавать резервные копии вышестоящих исправлений, также я все еще должен изобрести собственную аппаратную абстракцию, чтобы иметь возможность переключать MCU в будущем. Таким образом, я бы выбрал свою собственную ОС для чего-то, что кажется проблемой, которая должна была бы возникнуть и для многих других людей - разве кто-то не делал этого раньше? (Я имею в виду, что я что-то нашел, но идея запустить весь contiki-os как задачу FreeRTOS делает меня неудобным)

Я что-то упускаю? Может быть, боль стоила того, и я должен попытаться привести Contiki в рабочее состояние на моем оборудовании? Или есть другая система, которую я пропустил, чтобы решить мои проблемы?

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

user1273684
источник
1
running the entire contiki-os as a FreeRTOS task makes me uncomfortableЭто просто .. вау! Я бы никогда не подумал об этом ..
м.Алин

Ответы:

2

Если вы не состоите в браке с этим конкретным процессором (или достаточно опытны, чтобы скопировать / вставить код в любом случае), я часто использую микроконтроллеры Freescale с CodeWarrior и Processor Expert. PEX включает в себя ряд компонентов, включая FreeRTOS, MQX, FAT и т. Д. Можно загрузить дополнительные компоненты, и, в конце концов, это всего лишь генератор кода на основе графического интерфейса пользователя, поэтому, как было предложено, вы можете скопировать / вставить полученный код C в ваш проект.

Редактировать:

-MQX включает в себя стек IP

-FNET

Большой предварительно скомпилированный пакет многих полезных компонентов: http://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/

Джон
источник
1

Вы пропустили mbed OS : введите описание изображения здесь

профи

  • непосредственно поддерживается (продвигается) основным разработчиком - ARM Ltd.

минусы

  • его первый стабильный релиз ожидается (планируется) только в 15 ноября: -]
asndre
источник
1

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

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

Сравнение микроконтроллерных операционных систем реального времени

Я менеджер проекта, и мы перешли от использования драйверов, предлагаемых ST, к Unison. IIRC, лицензирование было на удивление небольшим, и мы получили «полную пробную версию», пока не убедились в этом, но постоянная прямая поддержка - это то, что подтолкнуло нас на грань, и то, что действительно помогает ускорить наше развитие. Я думаю, что у них уже есть поддержка различных беспроводных чипов TI, не уверен насчет CC2520.

Парень, который делает большую часть продаж, по-настоящему персональный и не перечисляет цены по двум причинам, мне сказали 1) потому что они хотят услышать то, что вам нужно, они действительно хотят постоянных клиентов, и устные ссылки, и 2) соревнование.

К вашему сведению, сайт Unison действительно плохой.

покорить тень
источник