
renode v1.17.0
Framework di simulazione open-source per sviluppare, testare e fare debug di software non modificato per sistemi embedded e IoT multi-nodo, con supporto per ARM, RISC-V, x86 e altro.
Renode
Copyright (c) 2010-2026 Antmicro
Cos'è Renode?
Renode è stato creato da Antmicro come strumento di sviluppo virtuale per reti embedded multi-nodo (sia cablate che wireless) ed è pensato per abilitare un workflow scalabile per creare sistemi IoT efficaci, testati e sicuri.
Con Renode, sviluppare, testare, eseguire il debug e simulare software non modificato per dispositivi IoT è veloce, economico e affidabile.
Le architetture supportate includono:
- ARMv7 e ARMv8 Cortex-A, Cortex-R e Cortex-M
- x86 e x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
Perché usare Renode?
Renode è stato creato basandosi su molti anni di esperienza nello sviluppo di software per sistemi embedded – sia per gateway, computer di bordo, che per nodi sensore e microcontrollori.
Testare e sviluppare sistemi embedded fisici è difficile a causa della scarsa riproducibilità e della mancanza di visibilità sullo stato corrente del sistema, specialmente in scenari multi-nodo.
Renode affronta questo problema permettendoti di eseguire binari non modificati, identici a quelli che normalmente faresti sul loro hardware target, su una scheda virtuale o su un sistema di schede.
Un aspetto importante dello strumento è che simula non solo le CPU ma interi SoC (ad esempio SoC eterogenei multi-core e varie periferiche) così come le connessioni cablate o wireless tra di essi, permettendo agli utenti di affrontare scenari complessi e testare software di produzione reale.
Installazione
Build e release disponibili
Build notturne
Le build notturne di Renode per tutti i sistemi sono disponibili su builds.renode.io.
Le build più recenti sono sempre disponibili come pacchetti renode-latest.*.
Sono disponibili i seguenti formati di pacchetto:
renode-latest.linux-portable.tar.gz– pacchetto Linux portatile, include il runtime dotnetrenode-latest.linux.tar.gz– archivio precompilato Linux, richiede dotnet installato sull'hostrenode-latest.pkg.tar.xz– pacchetto Arch Linuxrenode-latest.x86_64.rpm– pacchetto Red Hat / Fedorarenode-latest.deb– pacchetto per distribuzioni basate su Debianrenode-latest.osx-arm64-portable.dmg– pacchetto macOS per mac Apple Silicon (arm64)renode-latest.osx-x64-portable.dmg– pacchetto macOS per mac Intel (x86_64)renode-latest.windows-portable.zip– pacchetto Windows portatile, senza installerrenode-latest.setup.exe– installer Windowsrenode-latest.tar.xz– sorgenti di Renode
Release stabili
Release stabili e numerate con le relative note di rilascio sono disponibili nella sezione Releases su GitHub.
Installazione dal tap homebrew
Su macOS sia le versioni stabili che quelle notturne di Renode possono essere installate con Homebrew dal nostro tap personalizzato.
Per installare la versione stabile usa brew install renode/tap/renode, oppure brew install renode/tap/renode-nightly per l'ultima build notturna.
Questo installerà tutte le dipendenze, inclusa la pre-configurazione dell'ambiente Python per renode-test.
Utilizzo della release portatile Linux
Se sei un utente Linux, il modo più semplice per usare Renode è scaricare l'ultimo linux-portatile dalla sezione releases e decomprimerlo 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
Per usarlo da qualsiasi posizione, entra nella directory creata e aggiungila al percorso di sistema:
cd renode_portable
export PATH="`pwd`:$PATH"
Nota che il pacchetto portatile richiede GTK2 per essere disponibile sull'host per funzionare con l'interfaccia abilitata.
Segui la sezione Prerequisiti aggiuntivi se desideri utilizzare Robot Framework per i test. Altrimenti, procedi alla sezione 'Esecuzione di Renode'.
Installazione delle dipendenze
dotnet
Renode richiede dotnet >= 6.0.
Per installare dotnet, segui la guida ufficiale.
Altre dipendenze (solo Linux)
Su Ubuntu 20.04, puoi installare le restanti dipendenze con il seguente comando:
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
Se stai usando una distribuzione diversa, dovrai installare un elenco analogo di pacchetti tramite il tuo gestore pacchetti; nota che i nomi dei pacchetti possono differire leggermente.
Installazione dai pacchetti
Vai alla sezione releases di questo repository e scarica il pacchetto appropriato per il tuo sistema.
Linux
Installa Renode con il tuo gestore pacchetti preferito utilizzando i pacchetti *.deb, *.rpm o *.pkg.tar.xz forniti.
macOS
Usa il *.dmg fornito come di consueto.
Inoltre, per usare Renode dalla riga di comando su macOS, crea alias appropriati aggiungendo alias renode='/Applications/Renode.app/Contents/MacOS/renode' e alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' al tuo file .bashrc o .zshrc, a seconda della shell che stai utilizzando.
Windows
Installa Renode dal file *.msi fornito. L'installer ti permetterà di aggiungere icone sul Desktop e/o nel Menu Start e una voce nel PATH.
Prerequisiti aggiuntivi
Test con Robot Framework
Per scrivere ed eseguire casi di test, Renode si integra con il framework di test Robot.
Ciò richiede l'installazione di Python 3 (su Windows, avrai bisogno anche di Cygwin – vedi le istruzioni di installazione avanzate) con pip (nota che il pacchetto pertinente può essere chiamato python-pip o python3-pip su Linux).
Una volta che hai Python 3 e pip, installa i moduli aggiuntivi:
python3 -m pip install -r tests/requirements.txt
Altri strumenti
Inoltre, ciascuno degli strumenti nella sottodirectory /tools può contenere un file requirements.txt separato dai requisiti di Renode.
Installali nel tuo ambiente virtuale con pip install -r requirements.txt.
Build dai sorgenti
Per informazioni sulla compilazione di Renode dai sorgenti, consulta la documentazione.
Esecuzione di Renode
Dopo aver seguito le istruzioni sopra sull'installazione da un pacchetto, dovresti avere il comando renode disponibile a livello di sistema:
renode [flags] [file]
Se l'hai compilato dai sorgenti, naviga nella directory pertinente e usa:
./renode [flags] [file]
L'argomento opzionale [file] ti permette di fornire il percorso di uno script da eseguire all'avvio.
Lo script accetta diversi flag opzionali, i più utili dei quali sono presentati di seguito: