Los sistemas embebidos soportan diferentes Sistemas Operativos (SO) tales como Windows CE, Linux, iOS y Android, los cuales están diseñados para optimizar las funcionalidades de los microprocesadores y para ocupar poco espacio en memoria. La elección del SO a la hora de trabajar con sistemas embebidos dependerá del desarrollador y de los requerimientos de la plataforma, ya que pueden haber plataformas con muy poca memoria. La ventaja fundamental de los SO Linux y Android frente a sistemas propietarios como Windows CE es que son de software libre, y por tanto, están soportados por comunidades de desarrolladores y no dependen de licencias privadas.
Características
- Alto grado de integración, es decir, se puede tener en un solo chip: CPU, periféricos, memorias flash, ROM, generador de reloj, etc.
- Bajo coste y consumo.
- Eficiencia, al ser específicos y realizar tareas repetitivas. Flexibilidad para trabajar con varios sistemas operativos.
Para empezar a trabajar con sistemas empotrados, se debe tener en cuenta:
- Se requiere de una herramienta que genere un código interpretable para la arquitectura en la que se quiera trabajar (ARM, MIPS, PowerPC, etc.). Estas herramientas reciben el nombre de compiladores cruzados o “toolchain”.
- Para el arranque de un sistema empotrado se hace mediante un cargador genérico que recibe el nombre de boot loader.
- En un sistema empotrado los recursos de los que se disponen, y en especial la memoria, son limitados.