
renode v1.17.0
Cadre de simulation open-source pour développer, tester et déboguer des logiciels non modifiés destinés aux systèmes embarqués multi-nœuds et IoT, prenant en charge ARM, RISC-V, x86, etc.
Renode
Copyright (c) 2010-2026 Antmicro
Qu'est-ce que Renode ?
Renode a été créé par Antmicro comme un outil de développement virtuel pour les réseaux embarqués multi-nœuds (filaire et sans fil) et vise à permettre un flux de travail évolutif pour créer des systèmes IoT efficaces, testés et sécurisés.
Avec Renode, le développement, le test, le débogage et la simulation de logiciels non modifiés pour les appareils IoT sont rapides, rentables et fiables.
Les architectures supportées incluent :
- ARMv7 et ARMv8 Cortex-A, Cortex-R et Cortex-M
- x86 et x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
Pourquoi utiliser Renode ?
Renode a été créé sur la base de nombreuses années d'expérience dans le développement de logiciels pour systèmes embarqués - à la fois pour les passerelles, les ordinateurs de bord, ainsi que les nœuds de capteurs et les microcontrôleurs.
Tester et développer des systèmes embarqués physiques est difficile en raison d'une mauvaise reproductibilité et d'un manque de visibilité sur l'état actuel d'un système, en particulier dans les scénarios multi-nœuds.
Renode résout ce problème en vous permettant d'exécuter des binaires non modifiés, identiques à ceux que vous flasheriez normalement sur le matériel cible, sur une carte virtuelle ou un système de cartes.
Un aspect important de l'outil est qu'il simule non seulement les CPU mais aussi des SoCs entiers (par exemple, des SoCs hétérogènes multi-cœurs et divers périphériques) ainsi que les connexions filaires ou sans fil entre eux, permettant aux utilisateurs de traiter des scénarios complexes et de tester des logiciels de production réels.
Installation
Versions disponibles
Nightly builds
Les nightly builds de Renode pour tous les systèmes sont disponibles sur builds.renode.io.
Les dernières builds sont toujours disponibles sous forme de paquets renode-latest.*.
Les formats de paquets suivants sont disponibles :
renode-latest.linux-portable.tar.gz- paquet Linux portable, inclut le runtime dotnetrenode-latest.linux.tar.gz- archive Linux précompilée, nécessite dotnet installé sur l'hôterenode-latest.pkg.tar.xz- paquet Arch Linuxrenode-latest.x86_64.rpm- paquet Red Hat / Fedorarenode-latest.deb- paquet pour distribution basée sur Debianrenode-latest.osx-arm64-portable.dmg- paquet macOS pour Mac Apple Silicon (arm64)renode-latest.osx-x64-portable.dmg- paquet macOS pour Mac Intel (x86_64)renode-latest.windows-portable.zip- paquet portable Windows, sans installateurrenode-latest.setup.exe- installateur Windowsrenode-latest.tar.xz- sources de Renode
Versions stables
Les versions stables numérotées et leurs notes de version sont disponibles dans la section Releases sur GitHub.
Installation depuis le tap homebrew
Sur macOS, les versions stables et nightly de Renode peuvent être installées avec Homebrew depuis notre tap personnalisé.
Pour installer la version stable, utilisez brew install renode/tap/renode, ou brew install renode/tap/renode-nightly pour la dernière nightly build.
Cela installera toutes les dépendances, y compris la préconfiguration de l'environnement python pour renode-test
Utilisation de la version portable Linux
Si vous êtes un utilisateur Linux, le moyen le plus simple d'utiliser Renode est de télécharger la dernière version linux-portable depuis la section releases et de la décompresser en utilisant :
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
Pour l'utiliser depuis n'importe quel emplacement, entrez dans le répertoire créé et ajoutez-le au chemin système :
cd renode_portable
export PATH="`pwd`:$PATH"
Veuillez noter que le paquet portable nécessite que GTK2 soit disponible sur l'hôte pour fonctionner avec l'interface utilisateur activée.
Suivez la section Prérequis supplémentaires si vous souhaitez utiliser Robot Framework pour les tests. Sinon, passez à la section 'Exécution de Renode'.
Installation des dépendances
dotnet
Renode nécessite dotnet >= 6.0.
Pour installer dotnet, suivez le guide d'installation officiel.
Autres dépendances (Linux uniquement)
Sur Ubuntu 20.04, vous pouvez installer les dépendances restantes avec la commande suivante :
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
Si vous utilisez une distribution différente, vous devrez installer une liste analogue de paquets en utilisant votre gestionnaire de paquets ; notez que les noms des paquets peuvent différer légèrement.
Installation à partir des paquets
Allez dans la section releases de ce dépôt et téléchargez un paquet approprié pour votre système.
Linux
Installez Renode avec votre gestionnaire de paquets préféré en utilisant les paquets *.deb, *.rpm ou *.pkg.tar.xz fournis.
macOS
Utilisez le *.dmg fourni comme d'habitude.
De plus, pour utiliser Renode depuis la ligne de commande sur macOS, créez des alias appropriés en ajoutant alias renode='/Applications/Renode.app/Contents/MacOS/renode' et alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' à votre fichier .bashrc ou .zshrc, selon le shell que vous utilisez.
Windows
Installez Renode à partir du fichier *.msi fourni. L'installateur vous permettra d'ajouter des icônes sur votre Bureau et/ou dans le Menu Démarrer ainsi qu'une entrée dans votre PATH.
Prérequis supplémentaires
Tests Robot Framework
Pour écrire et exécuter des cas de test, Renode s'intègre avec le framework de test Robot.
Cela nécessite d'installer Python 3 (sur Windows, vous aurez également besoin de Cygwin - voir les instructions d'installation avancées) avec pip (notez que le paquet correspondant peut être appelé python-pip ou python3-pip sur Linux).
Une fois que vous avez Python 3 et pip, installez les modules supplémentaires :
python3 -m pip install -r tests/requirements.txt
Autres outils
De plus, chacun des outils dans le sous-répertoire /tools peut contenir un fichier requirements.txt distinct des prérequis de Renode.
Installez-les dans votre environnement virtuel avec pip install -r requirements.txt.
Construction à partir des sources
Pour des informations sur la construction de Renode à partir des sources, voir la documentation.
Exécution de Renode
Après avoir suivi les instructions ci-dessus pour l'installation à partir d'un paquet, vous devriez avoir la commande renode disponible à l'échelle du système :
renode [flags] [file]
Si vous l'avez construit à partir des sources, naviguez vers le répertoire approprié et utilisez :
./renode [flags] [file]
L'argument optionnel [file] vous permet de fournir le chemin d'un script à exécuter au démarrage.
Le script accepte plusieurs options, dont les plus utiles sont présentées ci-dessous :
-p Supprimer les codes de contrôle (par exemple, les couleurs) de la sortie
-P INT32 Au lieu d'ouvrir une fenêtre, écouter les commandes Monitor sur le port spécifié
-e COMMAND Exécuter une commande au démarrage (exécutée après le script optionnel). Peut être utilisé plusieurs fois
--console Exécuter le Monitor dans la console au lieu d'une fenêtre séparée
--disable-gui Désactiver le support de l'interface graphique XWT. Cela configure automatiquement HideMonitor
--hide-monitor Ne pas afficher la fenêtre Monitor
--hide-log Ne pas afficher les messages de log dans la console
--hide-analyzers Ne pas afficher les analyseurs
-v Afficher la version et quitter
-h Afficher l'aide et les informations d'utilisation
Renode peut être exécuté sur les systèmes Windows avec un ensemble similaire d'options.
Exemple de scénario
Ci-dessous, vous pouvez voir un morceau de firmware fonctionnant sur du matériel simulé. Le Monitor de Renode est visible à côté d'une fenêtre d'analyseur affichant la sortie UART et le logger. Pour plus d'informations sur cette configuration particulière, voir son dépôt dédié.
Méthodes alternatives pour exécuter Renode sur Linux
renode-run
renode-run est un script Python qui télécharge et exécute Renode, et vous permet d'exécuter facilement des démos disponibles dans Renodepedia ainsi que des fichiers ELF locaux.
Rendez-vous sur le dépôt pour les instructions d'utilisation.
renode-run repose sur un paquet portable et son principal avantage est la facilité de mise à jour de Renode vers la dernière nightly build en une seule commande.
pyrenode3
pyrenode3 est une bibliothèque Python pour interagir avec Renode par programmation.
Rendez-vous sur le dépôt pour les instructions d'utilisation.
Exécution de Renode dans un conteneur Docker
Si vous souhaitez exécuter Renode dans Docker, vous pouvez utiliser des images préconstruites disponibles sur Docker Hub.
Pour démarrer Renode en mode interactif sur Linux, en supposant que Docker est installé sur votre système, exécutez l'une des commandes suivantes :
- Pour la dernière version numérotée :
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:latest - Pour une nightly build dotnet :
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:nightly-dotnet
Cela affichera la fenêtre du Monitor de Renode. Alternativement, vous pouvez fournir votre commande personnalisée à la fin de la ligne ci-dessus.
Pour exécuter l'image en mode console sans transmission du serveur X, exécutez :
docker run -ti antmicro/renode bash
Vous pouvez ajouter d'autres options -v à la commande pour monter vos propres répertoires.
Pour plus d'informations et le Dockerfile sous-jacent, visitez le dépôt sur GitHub.
Documentation
La documentation est disponible sur Read the Docs.
Licence et contributions
Renode est publié sous la licence MIT permissive. Pour plus de détails, consultez le fichier LICENSE.
Nous sommes heureux d'accepter les rapports de bugs, les demandes de fonctionnalités et les contributions via les pull requests / issues GitHub. Pour plus de détails, consultez le fichier CONTRIBUTING.md.
Support commercial
Le support commercial pour Renode est fourni par Antmicro, une entreprise spécialisée dans l'aide à ses clients pour adopter de nouvelles technologies embarquées et des méthodologies de développement modernes.
Antmicro a créé et maintient le Framework Renode et les outils associés et est heureux de fournir des services tels que l'ajout de nouvelles plateformes, intégrations, plugins et outils.
Pour vous renseigner sur nos services, contactez-nous à [email protected].