8 votos

RTOS para Cortex M4 con 802.15.4/6LoWPAN pila

Yo soy la evaluación de los sistemas operativos a utilizar en un Internet de las Cosas de Proyecto y no sé cuál es la mejor manera de proceder.

Estoy usando un TM4C123GH6PM MCU con 32k de RAM y un CC2520 802.15.4 transceptor, sería genial si el sistema ya controladores proporcionados por los.

El sistema de ejecución de un (interactivo), tarea en la que se dibuja una pantalla matricial y reacciona a la entrada del usuario. Se guardará la configuración y los datos de la aplicación en flash spi. Habrá una malla de varios módulos (basado en 802.15.4) para la sincronización de datos entre los módulos, extraer datos de los sensores de los módulos y reenviar a una puerta de enlace (rpl viene a la mente) y también la distribución de OtA las actualizaciones de firmware en un chisme-como la moda. Todo mientras se ejecuta un lugar de memoria hambre aplicación.

Hasta ahora he mirado en estos sistemas:


RIOT:

pros

  • buena abstracción de hardware
  • pequeña huella
  • muy activo y útil de la comunidad
  • completa 802.15.4/6LoWPAN pila

contras

  • inestable, todavía experimentando cambios fundamentales
  • todavía contiene las condiciones de carrera/accidentes
  • no hay soporte de sistemas de archivos
  • algunos de los protocolos de red

Contiki:

pros

  • madura sistema, utilizado en productos comerciales
  • completa 802.15.4/6LoWPAN pila con muchos protocolos
  • soporte del sistema de archivos
  • cc2520 apoyo

contras

  • el desarrollo se ha convertido en obsoletos
  • 'crecido' codebase, un montón de bit rot
  • mala calidad tiva c puerto
  • poco apoyo para plataformas modernas
  • no preferente, la programación puede causar problemas con la aplicación

FreeRTOS:

pros

  • un poco de complejidad
  • fácil de usar, fiable programador
  • madura proyecto, se utiliza en muchos productos
  • un montón de puertos

contras

  • ningún sistema de archivos
  • ninguna de abstracción de hardware de controladores y no controladores de hardware
  • no hay pila de red
  • algo en lo alto uso de memoria dinámica

NuttX:

pros

  • muy ricos de la característica, casi se siente como Linux, sin embargo, todavía pequeño
  • soporte del sistema de archivos
  • buena abstracción de hardware
  • Tiva C puerto, muchos otros puertos

contras

  • algo complejo
  • no hay soporte para 802.15.4/6LoWPAN, sólo el 'clásico' netstack

Mi conclusión sería tomar las partes buenas de Contiki (el netstack, el sistema de archivos) y el puerto a FreeRTOS. Pero no estoy del todo cómodo con un tenedor como eso. Probablemente estaría agregando errores y no ser capaz de migración aguas arriba de errores, también tengo que inventar mi propia abstracción de hardware para ser capaz de cambiar el MCU en el futuro. Así que me gustaría terminar con mi propio sistema operativo para algo que parece un problema de que muchas otras personas deben tener demasiado - alguien no ha hecho eso antes? (Me refiero a que me hizo encontrar algo, pero la idea de la ejecución de la totalidad de contiki-os como un FreeRTOS tarea me hace incómodo)

Hay algo que me falta? Tal vez sería el dolor de la pena y yo debería tratar de conseguir Contiki a un estado funcional en el hardware de mi lugar? O es que hay otro sistema que se me haya olvidado que iba a solucionar mis problemas?

También no estoy seguro si necesito 6lowPan, pero cuando eso significa ser capaz de construir en los protocolos existentes/ser compatible con otros sistemas (por ejemplo, Linux), yo estaría dispuesto a asumir el coste adicional.

2voto

Jon Puntos 658

Si usted no es casado que procesador específico (o son lo suficientemente inteligentes como para copiar/pegar el código de todos modos), frecuentemente uso de Freescale Mcu con CodeWarrior y Procesador de Expertos. PEX incluye una serie de componentes, incluyendo el FreeRTOS, MQX, GRASA, etc. Los componentes adicionales que se pueden descargar y que, al final, es sólo una interfaz gráfica de usuario basada en generador de código de modo que, como se ha sugerido, usted puede copiar/pegar la resultante C código en el proyecto.

Editar:

-MQS incluye pila IP

-FNET

Gran pre-paquete compilado de muchos componentes útiles: http://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/

1voto

reaver shadow Puntos 32

Si es para uso comercial, yo sugiero que busque en la no-opciones gratuitas, apoyo lo es todo, si se trata de un proyecto personal, entonces puedo entender.

Sí, hay costos involucrados, pero con un poco de RTOS los desarrolladores, no en todos, ellos realmente hacen dinero que hay en el desarrollo a medida y licencias puede ser libre hasta que usted hace una venta. A continuación hay un enlace a un artículo que compara algunos pagaron los competidores:

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

Yo soy un director de proyecto, y hemos cambiado de uso ST ofrece a los conductores a Unísono. Si mal no recuerdo, la concesión de licencias era sorprendentemente pequeño, y tenemos un "juicio" hasta que nos había convencido, pero constante apoyo directo era lo que nos ha empujado sobre el borde, y lo que realmente ayuda a acelerar nuestro desarrollo. Creo que ya tiene soporte para varios TI inalámbrica chips, no estoy seguro acerca de CC2520.

El chico que hace la mayoría de la venta es muy personal y no de la lista de precios para los dos razón, me han dicho que 1) porque ellos quieren escuchar lo que usted necesita, que realmente quieren los clientes de retorno, y la palabra de la boca referencias, y 2) de la competencia.

FYI, al Unísono del sitio web es realmente malo.

1voto

asndre Puntos 797

Te falta mbed OS: enter image description here

pros

  • apoyado directamente (promovido) por el núcleo del diseñador - ARM Ltd.

contras

  • su primera versión estable es la espera (previsto) sólo en Nov'15 :-]

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X