Renode: ¿qué es este framework y por qué debería importarte?

Renode IO

Renode es un proyecto reciente que no muchos conocen, pero que puede ser muy interesante para muchos makers, aficionados que hacen sus prototipos con Arduino o Raspberry Pi, y desarrolladores que crean proyectos IoT y sistemas embebidos. Por eso, cada vez cuenta con más apoyo, tutoriales y contenido en la red.

Para saber más sobre este interesante proyecto de código abierto, puedes leer este artículo con lo esencial para conocerlo y comenzar a trabajar con él en tus futuros proyectos…

¿Qué es un framework?

framework

Renode es un framework, como tantos otros. Para aquellos que aún no conozcan qué es eso, hay que comentar que un marco de trabajo es un conjunto estandarizado en el que apoyarse para diferentes fines, y con el objetivo de ahorrar tiempo, como puede ser el desarrollo, resolución de problemas, agregar soporte de programas, bibliotecas, herramientas, etc.

¿Qué es Renode?

En el caso de Renode, es un framework que permite acelerar el desarrollo de sistemas integrados y de IoT, permitiendo simular sistemas de hardware físico, incluidas las CPUs, periféricos E/S, sensores, y otros elementos del entorno.  Por tanto, permitirá ejecutar, depurar y probar software desarrollado sin modificar tu PC o usar otras plataformas.

En cuanto a las placas soportadas, tiene un gran número de ellas. Entre las que se encuentran las Xilinx, ST Micro, Microchip PolarFire, SiFive, etc.

También deberías saber que Renode es un proyecto de código abierto, aunque con el respaldo comercial de Antmicro. Además, permite simular hardware Arm y RISC-V, permitiendo un rápido desarrollo y apoyo para los desarrolladores de software que trabajan en el mundo IoT.

Renode es muy completo, poderoso y funcional. Tanto es así, que el propio equipo de TensorFlow Lite lo usa para acelerar el desarrollo automatizado en plataformas Arm y RISC-V, así como x86, SPARC, y PowerPC. Sin necesidad de tener hardware físico de estas plataformas para las pruebas.

Más información – Web oficial del proyecto Renode.io

Plataformas soportadas

En cuanto a las plataformas soportadas por el framework Renode, desde las que puedes trabajar, están:

En cuanto al peso, apenas tiene unas decenas de MB, por lo que no es un paquete pesado.

Instalar Renode paso a paso en Linux

Tomando como referencia la distro Ubuntu, instalar Renode es tan sencillo como seguir estos pasos:

  • Satisfacer las dependencias, como la de Mono:

sudo apt update
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https ca-certificates
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-complete

  • Después de eso, hay que satisfacer otras dependencias:

sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev

  • Ahora, accede a esta web y descarga el paquete DEB.
  • Lo siguiente será ir al directorio de Descargas donde has descargado el .deb e instalar (recuerda sustituir el nombre por el de la versión que te corresponde):

cd Descargas

sudo dpkg -i renode_1.7.1_amd64.deb

Ejecutar Renode por primera vez y primeros pasos

Ahora ya puedes ejecutar Renode por primera vez y comenzar con tus primeros proyectos. Para su ejecución, tan solo tienes que ejecutar la orden:


renode

Esto abre una ventana de trabajo de Renode donde puedes introducir los comandos para crear la primera máquina o para su gestión. Por ejemplo, para crear una máquina para simular la placa STM32F4Discovery:


mach create
machine LoadPlatformDescription @platforms/boards/stm32f4_discovery-kit
.repl 

Puedes también ver los periféricos de los que dispone la plataforma con:


(machine-0) peripherals

Por cierto, machine-0 será el nombre de la máquina por defecto si no has elegido otro. Aparecerá como «prompt» una vez creas la máquina…

Para cargar el programa que quieras ejecutar sobre esta máquina simulada para probarlo, puedes usar (p.e.: este de Antmicro):


sysbus LoadELF @http://antmicro.com/projects/renode/stm32f4discovery.elf-s_445441-827a0dedd3790f4559d7518320006613768b5e72

También podrías cargarlo desde una dirección local, por ejemplo, imagina que quieres cargar un programa que tengas en:

sysbus LoadELF @mi-ejemplo.elf
Puedes ver todos los comandos que puedes usar y ayuda si usas el comando help dentro del entorno de Renode.

Después, puedes iniciar la emulación:


start

O detenerla con:


pause

Espero que te haya servido de ayuda…

Tutoriales de Renode

A pesar de que no es muy frecuente, cada vez existen más tutoriales y webs donde poder consultar información sobre el uso de Renode. Además, la propia página oficial tiene una sección de vídeos tutoriales con los que aprender lo básico para comenzar con tus proyectos.

Ver tutoriales

Ver documentación y wiki


Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.