Pensemos en el procesador en su escritorio. Todo lo que hace es ejecutar las instrucciones de la máquina y, por sí solo, no está realmente preocupado por los "sistemas operativos" o los "programas".
Enciende su computadora, el procesador señala la primera instrucción y comienza a ejecutarse.
En su escritorio, comienza a ejecutar el "sistema operativo". Pero no hay ninguna razón por la que no pueda hacer que el procesador ejecute cualquier conjunto de instrucciones que elija. (Esto puede no ser muy útil, ya que aún querría mostrar los resultados en la pantalla, y esa funcionalidad reside en el sistema operativo). Al mismo tiempo, si las instrucciones de su máquina consisten en los códigos de operación correctos para que el procesador salga la secuencia correcta de señales para pintar una imagen en el monitor, mucho mejor. No se necesita sistema operativo.
Las computadoras de escritorio hacen tantas cosas que generalmente requerimos la abstracción de un sistema operativo. Pero en esencia, todo lo que hace el procesador es ejecutar instrucciones.
Lo mismo para el procesador en máquinas de Coca-Cola y máquinas de café. Todo lo que hace es ejecutar instrucciones.
Bueno, escribir las instrucciones de la máquina poco a poco es tedioso. Entonces, al igual que con los escritorios, generalmente escribimos código en C, que luego se compila en código de máquina. Ese código de máquina se carga en el procesador incorporado y se ejecuta.
Los sistemas integrados hacen tan poco que no necesitan sistemas operativos completos. Un microcontrolador podría tener 8 o 16 pines en el chip, en comparación con los puntajes de pines en su zócalo de CPU normal.
Entonces, el flujo de trabajo es escribir algún código (digamos, en C), compilarlo en su máquina de escritorio. Ese compilador genera código de máquina para el chip incorporado. Luego, ese código se carga en el microprocesador (y necesita un hardware especial para hacer esto). Luego enciende el chip y comienza a ejecutar instrucciones. ¡Sencillo!