Linux es un sistema operativo que es una buena opción para experimentar en equipos con pocos recursos de hardware, aunque se piensa que para usarlo se requiera una computadora que no tenga más de 20 años. Sin embargo, he aquí un interesante proyecto que hace una computadora con Linux usando un microcontrolador de 8 bits. Y no, no es una broma, en realidad es sorprendente.
Se utiliza un microcontrolador ATMega1284p, el cual no tiene mucho que ofrecer más que relativamente “mucha memoria”: 16 KBytes de SRAM y 128 Kbytes de memoria Flash. Esto, desde luego, parece mucho almacenamiento en el mundo de los dispositivos embebidos, pero no es nada con los gigabytes de RAM y disco duro que tiene incluso la más pequeña de las netbooks. Para resolver este problema, el autor puso un SIMM antiguo de 30 pines que se alambró directamente al microcontrolador, así como una tarjeta SD de 1 GByte que sirve como si fuese el disco duro.
El sistema tiene sus problemas realmente, pues Linux requiere de un procesador de 32 bits y el microcontrolador simplemente no lo tiene. La mejor manera de solucionar esto, de acuerdo con el autor del proyecto, Dmitry Grinberg, fue la de emular un procesador ARM en el AVR. Nadie está muy seguro que esto sea genial, pero en el fondo se convirtió en un valioso ejercicio para escribir un emulador modular de un procesador ARM.
¿Qué tan rápido es? El autor dice que le tomó un par de horas ‘bootear’ hasta obtener el prompt del shell (bash), y cuatro horas para cargar Ubuntu y hacer que pidiera el login. No espere tener un equipo que corra a MegaHertz. La velocidad del reloj es de 65.5 KiloHertz. Pero seamos francos: es notable la idea de tener un dispositivo con Linux que es sólo un microcontrolador, RAM, una tarjeta SD, un par de resistencias y algo de cable.
Dmitry ha puesto a disposición de los interesados en este proyecto el firmware y la imagen de disco para descargar.
Referencia: Blog de Dmitry Grinberg