
renode v1.17.0
Marco de simulación de código abierto para desarrollar, probar y depurar software sin modificar para sistemas integrados y IoT de múltiples nodos, compatible con ARM, RISC-V, x86 y más.
Renode
Copyright (c) 2010-2026 Antmicro
¿Qué es Renode?
Renode fue creado por Antmicro como una herramienta virtual de desarrollo para redes embebidas multi-nodo (tanto cableadas como inalámbricas) y está destinado a permitir un flujo de trabajo escalable para crear sistemas IoT efectivos, probados y seguros.
Con Renode, desarrollar, probar, depurar y simular software sin modificar para dispositivos IoT es rápido, rentable y fiable.
Las arquitecturas compatibles incluyen:
- ARMv7 y ARMv8 Cortex-A, Cortex-R y Cortex-M
- x86 y x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
¿Por qué usar Renode?
Renode fue creado basándose en muchos años de experiencia en el desarrollo de software para sistemas embebidos, tanto para gateways, ordenadores de a bordo, como para nodos sensores y microcontroladores.
Probar y desarrollar sistemas embebidos físicos es difícil debido a la poca reproducibilidad y la falta de visibilidad del estado actual de un sistema, especialmente en escenarios multi-nodo.
Renode aborda este problema permitiéndole ejecutar binarios sin modificar, idénticos a los que normalmente grabaría en el hardware de destino, en una placa virtual o sistema de placas.
Un aspecto importante de la herramienta es que no solo simula CPUs, sino SoCs completos (por ejemplo, SoCs heterogéneos multinúcleo y varios periféricos), así como las conexiones cableadas o inalámbricas entre ellos, lo que permite a los usuarios abordar escenarios complejos y probar software de producción real.
Instalación
Compilados y versiones disponibles
Compilados nocturnos
Los compilados nocturnos de Renode para todos los sistemas están disponibles en builds.renode.io.
Los últimos compilados están siempre disponibles como paquetes renode-latest.*.
Los siguientes formatos de paquete están disponibles:
renode-latest.linux-portable.tar.gz- paquete portable para Linux, incluye runtime dotnetrenode-latest.linux.tar.gz- archivo precompilado para Linux, requiere dotnet instalado en el sistema anfitriónrenode-latest.pkg.tar.xz- paquete para Arch Linuxrenode-latest.x86_64.rpm- paquete para Red Hat / Fedorarenode-latest.deb- paquete para distribuciones basadas en Debianrenode-latest.osx-arm64-portable.dmg- paquete para macOS en Mac con Apple Silicon (arm64)renode-latest.osx-x64-portable.dmg- paquete para macOS en Mac con Intel (x86_64)renode-latest.windows-portable.zip- paquete portable para Windows, sin instaladorrenode-latest.setup.exe- instalador para Windowsrenode-latest.tar.xz- fuentes de Renode
Versiones estables
Las versiones estables numeradas y sus notas de la versión están disponibles en la sección de Versiones en GitHub.
Instalación desde el tap de homebrew
En macOS, tanto las versiones estables como las nocturnas de Renode se pueden instalar con Homebrew desde nuestro tap personalizado.
Para instalar la versión estable use brew install renode/tap/renode, o brew install renode/tap/renode-nightly para la última compilación nocturna.
Esto instalará todas las dependencias, incluida la preconfiguración del entorno python para renode-test
Usando la versión portable para Linux
Si es un usuario de Linux, la forma más fácil de usar Renode es descargar el último linux-portable desde la sección de versiones y descomprimirlo usando:
mkdir renode_portable
wget https://builds.renode.io/renode-latest.linux-portable.tar.gz
tar xf renode-latest.linux-portable.tar.gz -C renode_portable --strip-components=1
Para usarlo desde cualquier ubicación, entre al directorio creado y agréguelo a la ruta del sistema:
cd renode_portable
export PATH="`pwd`:$PATH"
Tenga en cuenta que el paquete portable requiere GTK2 disponible en el sistema anfitrión para ejecutarse con la interfaz gráfica habilitada.
Siga la sección Requisitos adicionales si desea usar Robot Framework para pruebas. De lo contrario, continúe a la sección 'Ejecutando Renode'.
Instalando dependencias
dotnet
Renode requiere dotnet >= 6.0.
Para instalar dotnet, siga la guía de instalación oficial.
Otras dependencias (solo Linux)
En Ubuntu 20.04, puede instalar las dependencias restantes con el siguiente comando:
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
Si está utilizando una distribución diferente, deberá instalar una lista análoga de paquetes usando su gestor de paquetes; tenga en cuenta que los nombres de los paquetes pueden diferir ligeramente.
Instalando desde paquetes
Vaya a la sección de versiones de este repositorio y descargue un paquete apropiado para su sistema.
Linux
Instale Renode con su gestor de paquetes preferido usando los paquetes *.deb, *.rpm o *.pkg.tar.xz proporcionados.
macOS
Use el *.dmg proporcionado como de costumbre.
Además, para usar Renode desde la línea de comandos en macOS, cree alias apropiados agregando alias renode='/Applications/Renode.app/Contents/MacOS/renode' y alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' a su archivo .bashrc o .zshrc, dependiendo del intérprete de comandos que esté usando.
Windows
Instale Renode desde el archivo *.msi proporcionado. El instalador le permitirá agregar iconos a su Escritorio y/o Menú Inicio y una entrada a su PATH.
Requisitos adicionales
Pruebas con Robot Framework
Para escribir y ejecutar casos de prueba, Renode se integra con el framework de pruebas Robot.
Esto requiere que instale Python 3 (en Windows, también necesitará Cygwin - consulte las instrucciones de instalación avanzadas) con pip (tenga en cuenta que el paquete relevante puede llamarse python-pip o python3-pip en Linux).
Una vez que tenga Python 3 y pip, instale los módulos adicionales:
python3 -m pip install -r tests/requirements.txt
Otras herramientas
Además, cada una de las herramientas en el subdirectorio /tools puede contener un archivo requirements.txt separado de los requisitos de Renode.
Instálelos en su entorno virtual con pip install -r requirements.txt.
Compilando desde las fuentes
Para obtener información sobre cómo compilar Renode desde las fuentes, consulte la documentación.
Ejecutando Renode
Después de seguir las instrucciones anteriores sobre la instalación desde un paquete, debería tener el comando renode disponible en todo el sistema:
renode [flags] [file]
Si lo compiló desde las fuentes, navegue al directorio correspondiente y use:
./renode [flags] [file]
El argumento opcional [file] le permite proporcionar la ruta a un script que se ejecutará al inicio.
El script admite varias banderas opcionales, las más útiles se presentan a continuación:
-p Elimina códigos de control (por ejemplo, colores) de la salida
-P INT32 En lugar de abrir una ventana, escucha comandos del Monitor en el puerto especificado
-e COMMAND Ejecuta un comando al inicio (se ejecuta después del script opcional). Se puede usar varias veces
--console Ejecuta el Monitor en la consola en lugar de una ventana separada
--disable-gui Desactiva el soporte de la GUI XWT. Establece automáticamente HideMonitor
--hide-monitor No muestra la ventana del Monitor
--hide-log No muestra mensajes de registro en la consola
--hide-analyzers No muestra los analizadores
-v Muestra la versión y sale
-h Muestra ayuda e información de uso
Renode se puede ejecutar en sistemas Windows con un conjunto similar de banderas opcionales.
Escenario de ejemplo
A continuación, puede ver una pieza de firmware ejecutándose en hardware simulado. El Monitor de Renode es visible junto con una ventana de analizador que muestra la salida UART y el registrador. Para más información sobre esta configuración en particular, consulte su repositorio dedicado.
Formas alternativas de ejecutar Renode en Linux
renode-run
renode-run es un script de Python que descarga y ejecuta Renode, y le permite ejecutar fácilmente demos disponibles en Renodepedia así como archivos ELF locales.
Vaya a el repositorio para instrucciones de uso.
renode-run se basa en un paquete portable y su principal ventaja es la facilidad de actualizar Renode a la última compilación nocturna con un solo comando.
pyrenode3
pyrenode3 es una biblioteca de Python para interactuar con Renode mediante programación.
Vaya a el repositorio para instrucciones de uso.
Ejecutando Renode en un contenedor Docker
Si desea ejecutar Renode en Docker, puede usar las imágenes precompiladas disponibles en Docker Hub.
Para iniciar Renode en modo interactivo en Linux, asumiendo que tiene Docker instalado en su sistema, ejecute uno de los siguientes:
- Para la última versión numerada:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:latest - Para una compilación nocturna con dotnet:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:nightly-dotnet
Esto mostrará la ventana del Monitor de Renode. Alternativamente, puede proporcionar su comando personalizado al final de la línea anterior.
Para ejecutar la imagen en modo consola sin pasar el servidor X, ejecute:
docker run -ti antmicro/renode bash
Puede agregar más interruptores -v al comando para montar sus propios directorios.
Para más información y el Dockerfile subyacente, visite el repositorio en GitHub.
Documentación
La documentación está disponible en Read the Docs.
Licencia y contribuciones
Renode se publica bajo la licencia permisiva MIT. Para más detalles, consulte el archivo LICENSE.
Aceptamos con gusto informes de errores, solicitudes de funciones y contribuciones a través de solicitudes de extracción / problemas de GitHub. Para más detalles, consulte el archivo CONTRIBUTING.md.
Soporte comercial
El soporte comercial para Renode es proporcionado por Antmicro, una empresa especializada en ayudar a sus clientes a adoptar nuevas tecnologías embebidas y metodologías de desarrollo modernas.
Antmicro creó y mantiene el Framework de Renode y las herramientas relacionadas y está encantada de proporcionar servicios como la adición de nuevas plataformas, integraciones, plugins y herramientas.
Para consultar sobre nuestros servicios, contáctenos en [email protected].