La siguiente explicación es del objetivo de crear un marco integrado genérico con los siguientes puntos clave
- Aprovechando la comunidad de código abierto
- Estar en línea del mercado de tendencia
- Rápido tiempo de comercialización
- Desarrollo de ingeniería de bajo costo.
- Producto de acabado de bajo costo
- Fácil portabilidad del marco a productos específicos
Hardware
Obviamente, el corazón del sistema es la MCU/CPU. Mi enfoque fue encontrar un equilibrio entre el MCU más barato, más potente y de mayor tendencia en el mercado. Sin duda el ganador es el AMR, muchos fabricantes han adoptado estos núcleos: TI, Samsung, nVidia, Intel, Atmel, NXP, Freescale, una lista interminable. Para un diseñador de sistemas como Cisium esto proporciona una gran ventaja, ya que permite cambiar entre fabricantes con núcleos similares con una gran reutilización del conocimiento.
La arquitectura ARM para nuestro alcance de desarrollo integrado está mejor posicionada que MIPS, PPC, x86, AVR32, PIC32, etc. ¡Solo como referencia, se puede comprar un NXP 1114 basado en ARM Cortex M0 por 1 USD!
He sido un fanático de las arquitecturas 8051, PIC, AVR y otras, y lo he usado en muchos diseños, pero no elección, tengo que rodearme de la evidencia de que las arquitecturas ARM son las ganadoras y la tendencia. Obviamente, esto es desde el punto de vista de tratar de definir una solución reutilizable genérica, por supuesto, para una aplicación de precio muy específica y muy sensible, un PIC muy pequeño o MCU similares podría ser una solución mucho mejor.
No he encontrado una plataforma HW de código abierto, Aurdino es bueno, basado en ATmega, un MCU excelente, pero caro para lo que dan, solo tenga en cuenta que Atmet está fabricando MCU basados en ARM, así que tarde o temprano creo ellos decidimos qué arquitectura de 32 bits seguir la propia o la ARM.
Básicamente recomiendo comprar algunos de los excelentes kits de desarrollo disponibles en los mercados; no son gratis, pero son muy baratos. Le brindarán un punto de partida para crear su propia plataforma para muchas aplicaciones diferentes con un tiempo de comercialización rápido y un desarrollo de ingeniería de bajo costo con un costo de material muy controlado.
Por ejemplo, en Cisium una de nuestras sucursales está enfocada en el procesador NXP ARM: Cortex M0, Cortex M3 y ARM926. Esos son los procesadores ARM más baratos del mercado.
Software
El software hoy en día tiene un mayor impacto en el costo de ingeniería de un producto específico. Se debe hacer un esfuerzo especial para crear código reutilizable y de alta calidad. Los puntos clave son la arquitectura del software, las pruebas de software, el sistema operativo y el middleware.
Desde la perspectiva de una plataforma integrada genérica con un potente soporte de software, creo que un sistema operativo en tiempo real es imprescindible. No creo que el software simple sea el mejor enfoque para los sistemas integrados, a menos que tenga que implementar un producto muy optimizado, donde es importante ahorrar algunos KB y algo de carga de CPU.
Hemos cancelado nuestro proyecto interno para crear nuestro propio RTOS, y hemos decidido unirnos a una buena comunidad de código abierto para el caso. Hemos dividido el mercado OS/RTOS en 3 grupos
RTOS con huella de implementación mínima
Hemos evaluado más de 18 RTOS y la evaluación aún está en curso. Hemos incluido comercial y de código abierto. Hasta ahora la clasificación es así:
1. Chibi OS/RT. Es con la huella mínima RAM 800B, FLASH 4.36KB sin códigos de prueba.
Este software es totalmente gratuito y se puede usar para productos comerciales, solo se requiere colocar un enlace al proyecto en algún lugar del sitio web o documentación para anunciar que estamos usando ChibiOS/RT. La licencia comercial se ofrecerá después del lanzamiento de la versión 2.0.0.
El foro no es muy activo, la documentación es justa. El RTOS es muy maduro comenzó en 2007
2. FreeRTOS. RAM 2 KB (el sitio web dice solo 344 Bytes, pero creo que es solo marketing), 7.41 KB con una funcionalidad muy reducida.
Buen sitio web con mucha información. Tiene aplicaciones de demostración preconfiguradas para computadoras de placa única seleccionadas que permiten una operación 'lista para usar' y una curva de aprendizaje rápida.
En el soporte gratuito, será redirigido a su foro activo que ya tiene muchos hilos, lo que podría ser una buena fuente de soporte.
También tiene una actualización regular, esperada en un intervalo de 1 a 3 meses.
Saber que los sistemas operativos comerciales como OpenRTOS y SafeRTOS se basan en FreeRTOS nos da una idea de lo bueno que es este sistema operativo.
3. Empresa ERIKA. RAM 200 Bytes, FALS 800 – 2000 Bytes La huella aún no está confirmada.
La idea principal de ERIKA Enterprise es ser un pequeño sistema mínimo útil para aplicaciones automotrices, así como pequeñas aplicaciones integradas que requieren soporte en tiempo real.
Cobra Automotive Technologies, un grupo internacional que proporciona una solución centrada en el vehículo fácil de usar en todo el mundo, y Magneti Marelli Powertraing, una empresa internacional comprometida con el diseño y la producción de sistemas y componentes de alta tecnología para el sector automotriz, anunciaron su apoyo a ERIKA Enterprise. Proporcionarán puertos de arquitectura para varios microcontroladores que se utilizarán en sus productos futuros.
Saber que estas dos grandes empresas están utilizando y brindando su apoyo a ERIKA Enterprise hará que los desarrolladores piensen que ERIKA es un RTOS confiable.
4. Otros. Al igual que Micrium uC/OS-II, es muy bueno y tiene una excelente documentación, pero lamentablemente no es una licencia gratuita para el comercio.
RTOS de tamaño medio, con middleware ya integrado. Sin requisito de MMU
En este grupo pusimos sistemas operativos como ucLinux, NuttX ROS o RTEMS. Hemos decidido cancelar esta actividad y considerar solo sistemas operativos de la competencia como Linux, ya que la MCU con soporte de MMU no es mucho más cara que sin ella.
Me gusta mucho ucLinux, pero sinceramente creo que está decayendo con respecto al padre Linux.
Sistema operativo completo, donde se requiere MMU
El claro ganador es Linux y sus diferentes sabores. Tenemos en evaluación hasta 14 sistemas operativos completos, incluidas muchas distribuciones de Linux.
Hasta ahora, creo que la mejor opción es desarrollar su propia distribución de Linux o tomar la sugerida por el proveedor de MCU. Tenga en cuenta que una de las actividades más importantes en Linux para sistemas integrados es crear controladores específicos para su hardware específico.
Una mención especial merece Android, el hijo de Google basado en Linux. Estamos 100% seguros de que esto va a apoderarse del 50% del mercado de aplicaciones integradas en dispositivos móviles y tabletas, así que querido desarrollador... adelante, se nos está abriendo un mercado enorme.