El Femto OS es un mini sistema operativo (RTOS) que permite a los microcontroladores AVR ejecutar pequeños procesos simultáneamente. Aunque muchas veces basta con programar unas cuantas funciones en un microcontrolador determinado, en aplicaciones complejas es recomendable el uso de éste tipo de sistemas operativos para simplificar todas las tareas o el "flow" del programa sin tener que preocuparse por la comunicación entre los distintos procesos, como por ejemplo cuando gestionamos muchas interfaces externas como módulos GPS, sensores, botones etc.
La gran peculiaridad de Femto OS y lo que más me ha gustado, es que es extremadamente ligero en cuanto a los recursos necesarios para su funcionamiento ya que puede funcionar perfectamente desde un simple ATtiny hasta un ATmega644 consumiendo tan solo desde 2kb de flash y 20bytes de memoria RAM con un consumo de proceso inferior a 4% con un cristal de 16Mhz y además, pudiendo ejecutar hasta 16 tareas simultáneamente. Simplemente impresionante.
Es un impresionate sistema basado originalmente en FreeRTOS, aunque mucho más ligero y sencillo, que comenzó allá en el año 2007 por su autor Ruud Vlaming y que ofrece todo el sistema con sus fuentes completos bajo una licencia GPLv3.
Alguno ha probado éste sistema? cuales fueron vuestras impresiones? Esperamos ansiosos vuestros comentarios!
No os perdais unos videos del autor demostrando todo tipo de aplicaciones, asi como los enlaces para su descarga y documentación...
Enlaces:
- Página oficial Femto OS
- Descarga de los fuentes (Sourceforge)
Femto OS: Cola de procesos:
Femto OS: Interrupciones:
Femto OS: Watchdog: