# Scraped: https://renode.readthedocs.io/en/latest/

Title: Renode - documentation

[Edit this page](https://github.com/renode/renode/blob/main/source/index.md "Edit this page")

# Renode - documentation [¶](https://renode.readthedocs.io/en/latest/\#renode-documentation "Link to this heading")

Introduction

- [Installing Renode](https://renode.readthedocs.io/en/latest/introduction/installing.html)
- [Using Renode](https://renode.readthedocs.io/en/latest/introduction/using.html)
  - [Running and quitting Renode](https://renode.readthedocs.io/en/latest/introduction/using.html#running-and-quitting-renode)
  - [Monitor (Renode CLI)](https://renode.readthedocs.io/en/latest/introduction/using.html#monitor-renode-cli)
  - [Basic interactive workflow](https://renode.readthedocs.io/en/latest/introduction/using.html#basic-interactive-workflow)
  - [.resc scripts](https://renode.readthedocs.io/en/latest/introduction/using.html#resc-scripts)
  - [Configuring the user interface](https://renode.readthedocs.io/en/latest/introduction/using.html#configuring-the-user-interface)
- [Running your first demo](https://renode.readthedocs.io/en/latest/introduction/demo.html)
- [Supported boards](https://renode.readthedocs.io/en/latest/introduction/supported-boards.html)
- [Supported peripherals](https://renode.readthedocs.io/en/latest/introduction/supported-boards.html#supported-peripherals)
- [Troubleshooting](https://renode.readthedocs.io/en/latest/introduction/troubleshooting.html)
- [Testing with Renode](https://renode.readthedocs.io/en/latest/introduction/testing.html)
  - [Renode’s testing capabilities](https://renode.readthedocs.io/en/latest/introduction/testing.html#renode-s-testing-capabilities)
  - [Running the robot test script](https://renode.readthedocs.io/en/latest/introduction/testing.html#running-the-robot-test-script)
  - [Creating the test file](https://renode.readthedocs.io/en/latest/introduction/testing.html#creating-the-test-file)
  - [Advanced usage](https://renode.readthedocs.io/en/latest/introduction/testing.html#advanced-usage)
- [Developing Renode](https://renode.readthedocs.io/en/latest/introduction/developing-renode.html)
  - [Debugging with GDB](https://renode.readthedocs.io/en/latest/introduction/developing-renode.html#debugging-with-gdb)
  - [VS Code configurations](https://renode.readthedocs.io/en/latest/introduction/developing-renode.html#vs-code-configurations)

Basic usage

- [Working with machines](https://renode.readthedocs.io/en/latest/basic/machines.html)
  - [Creating machines](https://renode.readthedocs.io/en/latest/basic/machines.html#creating-machines)
  - [Switching between machines](https://renode.readthedocs.io/en/latest/basic/machines.html#switching-between-machines)
  - [Loading platforms](https://renode.readthedocs.io/en/latest/basic/machines.html#loading-platforms)
  - [Accessing and manipulating peripherals](https://renode.readthedocs.io/en/latest/basic/machines.html#accessing-and-manipulating-peripherals)
  - [Loading binaries](https://renode.readthedocs.io/en/latest/basic/machines.html#loading-binaries)
  - [Clearing the emulation](https://renode.readthedocs.io/en/latest/basic/machines.html#clearing-the-emulation)
- [Describing platforms](https://renode.readthedocs.io/en/latest/basic/describing_platforms.html)
  - [Defining peripherals](https://renode.readthedocs.io/en/latest/basic/describing_platforms.html#defining-peripherals)
  - [Connecting peripherals](https://renode.readthedocs.io/en/latest/basic/describing_platforms.html#connecting-peripherals)
  - [Including files](https://renode.readthedocs.io/en/latest/basic/describing_platforms.html#including-files)
- [Monitor and script syntax](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html)
  - [Using built-in commands](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#using-built-in-commands)
  - [Accessing emulation objects](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#accessing-emulation-objects)
  - [Accessing attributes of an object](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#accessing-attributes-of-an-object)
  - [Command substitution with backticks](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#command-substitution-with-backticks)
  - [Operating on enumerable properties](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#operating-on-enumerable-properties)
  - [Supported data types](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#supported-data-types)
  - [Monitor variable types](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#monitor-variable-types)
  - [File paths](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#file-paths)
  - [Renode Script syntax](https://renode.readthedocs.io/en/latest/basic/monitor-syntax.html#renode-script-syntax)
- [Renode testing API](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html)
  - [General methods](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html#general-methods)
  - [UART](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html#uart)
  - [GPIO](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html#gpio)
  - [Network interfaces](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html#network-interfaces)
  - [Verifying other interfaces](https://renode.readthedocs.io/en/latest/basic/renode-testing-api.html#verifying-other-interfaces)
- [Basic execution control](https://renode.readthedocs.io/en/latest/basic/control.html)
  - [Starting and pausing the execution](https://renode.readthedocs.io/en/latest/basic/control.html#starting-and-pausing-the-execution)
  - [Executing instruction-by-instruction](https://renode.readthedocs.io/en/latest/basic/control.html#executing-instruction-by-instruction)
  - [Blocking and non-blocking stepping](https://renode.readthedocs.io/en/latest/basic/control.html#blocking-and-non-blocking-stepping)
  - [Inspecting the current location](https://renode.readthedocs.io/en/latest/basic/control.html#inspecting-the-current-location)
- [Using the logger](https://renode.readthedocs.io/en/latest/basic/logger.html)
  - [Logging level](https://renode.readthedocs.io/en/latest/basic/logger.html#logging-level)
  - [Logging to file](https://renode.readthedocs.io/en/latest/basic/logger.html#logging-to-file)
  - [Logging access to peripherals](https://renode.readthedocs.io/en/latest/basic/logger.html#logging-access-to-peripherals)
  - [Hushing excessive unhandled access logs](https://renode.readthedocs.io/en/latest/basic/logger.html#hushing-excessive-unhandled-access-logs)
- [State saving and loading](https://renode.readthedocs.io/en/latest/basic/saving.html)
  - [Autosaving](https://renode.readthedocs.io/en/latest/basic/saving.html#autosaving)
  - [State saving in tests](https://renode.readthedocs.io/en/latest/basic/saving.html#state-saving-in-tests)
  - [Loading gzip compressed save files](https://renode.readthedocs.io/en/latest/basic/saving.html#loading-gzip-compressed-save-files)
- [Renode Sensor Data Format (RESD)](https://renode.readthedocs.io/en/latest/basic/resd.html)
  - [What is the Renode Sensor Data format?](https://renode.readthedocs.io/en/latest/basic/resd.html#what-is-the-renode-sensor-data-format)
  - [RESD Data Blocks](https://renode.readthedocs.io/en/latest/basic/resd.html#resd-data-blocks)
  - [RESD tooling](https://renode.readthedocs.io/en/latest/basic/resd.html#resd-tooling)
- [Sensors and virtual environment](https://renode.readthedocs.io/en/latest/basic/sensors.html)
  - [Controlling individual sensors](https://renode.readthedocs.io/en/latest/basic/sensors.html#controlling-individual-sensors)
  - [Controlling sensors globally](https://renode.readthedocs.io/en/latest/basic/sensors.html#controlling-sensors-globally)
- [Metrics analyzer](https://renode.readthedocs.io/en/latest/basic/metrics.html)
  - [Profiling](https://renode.readthedocs.io/en/latest/basic/metrics.html#profiling)
  - [Visualizing](https://renode.readthedocs.io/en/latest/basic/metrics.html#visualizing)
- [Running Renode in different modes](https://renode.readthedocs.io/en/latest/basic/running.html)
  - [Telnet mode](https://renode.readthedocs.io/en/latest/basic/running.html#telnet-mode)
  - [Headless mode](https://renode.readthedocs.io/en/latest/basic/running.html#headless-mode)
  - [Console mode](https://renode.readthedocs.io/en/latest/basic/running.html#console-mode)
  - [UART interactions in the Monitor](https://renode.readthedocs.io/en/latest/basic/running.html#uart-interactions-in-the-monitor)
- [Using Python in Renode](https://renode.readthedocs.io/en/latest/basic/using-python.html)
  - [Direct Python execution in the Monitor](https://renode.readthedocs.io/en/latest/basic/using-python.html#direct-python-execution-in-the-monitor)
  - [Python peripherals in a platform description](https://renode.readthedocs.io/en/latest/basic/using-python.html#python-peripherals-in-a-platform-description)
  - [Python hooks in Renode](https://renode.readthedocs.io/en/latest/basic/using-python.html#python-hooks-in-renode)
  - [Python enabled classes](https://renode.readthedocs.io/en/latest/basic/using-python.html#python-enabled-classes)
  - [RISC-V extensions](https://renode.readthedocs.io/en/latest/basic/using-python.html#risc-v-extensions)
- [Configuring a RISC-V CPU](https://renode.readthedocs.io/en/latest/basic/configuring-a-risc-v-cpu.html)
  - [Picking specific ISA variants](https://renode.readthedocs.io/en/latest/basic/configuring-a-risc-v-cpu.html#picking-specific-isa-variants)
  - [Customizing the CPU](https://renode.readthedocs.io/en/latest/basic/configuring-a-risc-v-cpu.html#customizing-the-cpu)
  - [Adding a custom RISC-V instruction](https://renode.readthedocs.io/en/latest/basic/configuring-a-risc-v-cpu.html#adding-a-custom-risc-v-instruction)
  - [Adding a custom RISC-V Control and Status Register](https://renode.readthedocs.io/en/latest/basic/configuring-a-risc-v-cpu.html#adding-a-custom-risc-v-control-and-status-register)

Debugging

- [Debugging with GDB](https://renode.readthedocs.io/en/latest/debugging/gdb.html)
  - [Connecting to GDB](https://renode.readthedocs.io/en/latest/debugging/gdb.html#connecting-to-gdb)
  - [Starting emulation](https://renode.readthedocs.io/en/latest/debugging/gdb.html#starting-emulation)
  - [Complex scenarios](https://renode.readthedocs.io/en/latest/debugging/gdb.html#complex-scenarios)
  - [Reverse Execution](https://renode.readthedocs.io/en/latest/debugging/gdb.html#reverse-execution)
- [Debugging software with Visual Studio Code](https://renode.readthedocs.io/en/latest/debugging/vscode.html)
  - [Launch configuration](https://renode.readthedocs.io/en/latest/debugging/vscode.html#launch-configuration)
  - [Defining tasks](https://renode.readthedocs.io/en/latest/debugging/vscode.html#defining-tasks)
  - [Renode simulation script](https://renode.readthedocs.io/en/latest/debugging/vscode.html#renode-simulation-script)
  - [debug.conf](https://renode.readthedocs.io/en/latest/debugging/vscode.html#debug-conf)

Execution tracing

- [Execution tracing in Renode](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html)
  - [Logging executed function names](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html#logging-executed-function-names)
  - [Logging peripheral accesses](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html#logging-peripheral-accesses)
  - [Execution tracing](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html#execution-tracing)
  - [Usage of gathered data](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html#usage-of-gathered-data)
  - [Specialized uses of execution tracing](https://renode.readthedocs.io/en/latest/execution-tracing/execution-tracing.html#specialized-uses-of-execution-tracing)
- [Execution metrics, profiling and opcode counting](https://renode.readthedocs.io/en/latest/execution-tracing/metrics-and-profiling.html)
  - [Execution metrics](https://renode.readthedocs.io/en/latest/execution-tracing/metrics-and-profiling.html#execution-metrics)
  - [Guest application profiling](https://renode.readthedocs.io/en/latest/execution-tracing/metrics-and-profiling.html#guest-application-profiling)
  - [Opcode counting](https://renode.readthedocs.io/en/latest/execution-tracing/metrics-and-profiling.html#opcode-counting)
- [Generating a coverage report](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html)
  - [Prerequisites](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#prerequisites)
  - [Building a binary for coverage gathering](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#building-a-binary-for-coverage-gathering)
  - [Using PC-to-Line# mapping files instead of DWARF info](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#using-pc-to-line-mapping-files-instead-of-dwarf-info)
  - [Gathering coverage for a sample program](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#gathering-coverage-for-a-sample-program)
  - [Report formats](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#report-formats)
  - [Coverview integration](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#coverview-integration)
  - [Gathering Zephyr’s coverage](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#gathering-zephyr-s-coverage)
  - [Legacy report mode](https://renode.readthedocs.io/en/latest/execution-tracing/coverage-report.html#legacy-report-mode)
- [Guest CPU Cache Modelling](https://renode.readthedocs.io/en/latest/execution-tracing/guest-cache-modelling.html)

Networking

- [Setting up a wired network](https://renode.readthedocs.io/en/latest/networking/wired.html)
  - [Creating a switch](https://renode.readthedocs.io/en/latest/networking/wired.html#creating-a-switch)
  - [Connecting interfaces](https://renode.readthedocs.io/en/latest/networking/wired.html#connecting-interfaces)
  - [Disconnecting interfaces](https://renode.readthedocs.io/en/latest/networking/wired.html#disconnecting-interfaces)
  - [Starting the interface](https://renode.readthedocs.io/en/latest/networking/wired.html#starting-the-interface)
  - [Controlling the traffic](https://renode.readthedocs.io/en/latest/networking/wired.html#controlling-the-traffic)
- [Setting up a wireless network](https://renode.readthedocs.io/en/latest/networking/wireless.html)
  - [Creating a wireless medium](https://renode.readthedocs.io/en/latest/networking/wireless.html#creating-a-wireless-medium)
  - [Connecting interfaces](https://renode.readthedocs.io/en/latest/networking/wireless.html#connecting-interfaces)
  - [Disconnecting interfaces](https://renode.readthedocs.io/en/latest/networking/wireless.html#disconnecting-interfaces)
  - [Positioning the nodes](https://renode.readthedocs.io/en/latest/networking/wireless.html#positioning-the-nodes)
  - [Controlling the traffic](https://renode.readthedocs.io/en/latest/networking/wireless.html#controlling-the-traffic)
- [Connecting to the host network](https://renode.readthedocs.io/en/latest/networking/host-network.html)
  - [Regarding time flow](https://renode.readthedocs.io/en/latest/networking/host-network.html#regarding-time-flow)
  - [Opening a TAP interface](https://renode.readthedocs.io/en/latest/networking/host-network.html#opening-a-tap-interface)
  - [Using TAP interface on Windows](https://renode.readthedocs.io/en/latest/networking/host-network.html#using-tap-interface-on-windows)
  - [Connecting TAP interface switch](https://renode.readthedocs.io/en/latest/networking/host-network.html#connecting-tap-interface-switch)
  - [Starting the interface](https://renode.readthedocs.io/en/latest/networking/host-network.html#starting-the-interface)
  - [Transferring files from host](https://renode.readthedocs.io/en/latest/networking/host-network.html#transferring-files-from-host)
- [Inspecting the traffic with Wireshark](https://renode.readthedocs.io/en/latest/networking/wireshark.html)
  - [Logging the whole traffic](https://renode.readthedocs.io/en/latest/networking/wireshark.html#logging-the-whole-traffic)
  - [Observing a specific interface](https://renode.readthedocs.io/en/latest/networking/wireshark.html#observing-a-specific-interface)
- [Machine to machine connections](https://renode.readthedocs.io/en/latest/networking/machine-to-machine-connections.html)
  - [Symmetrical connections](https://renode.readthedocs.io/en/latest/networking/machine-to-machine-connections.html#symmetrical-connections)
  - [Asymmetrical connections](https://renode.readthedocs.io/en/latest/networking/machine-to-machine-connections.html#asymmetrical-connections)
  - [Modeling the timing of the events](https://renode.readthedocs.io/en/latest/networking/machine-to-machine-connections.html#modeling-the-timing-of-the-events)

Host integration

- [UART integration](https://renode.readthedocs.io/en/latest/host-integration/uart.html)
  - [UART pty terminal](https://renode.readthedocs.io/en/latest/host-integration/uart.html#uart-pty-terminal)
  - [Socket terminal](https://renode.readthedocs.io/en/latest/host-integration/uart.html#socket-terminal)
  - [Redirecting to a file](https://renode.readthedocs.io/en/latest/host-integration/uart.html#redirecting-to-a-file)
- [CAN integration](https://renode.readthedocs.io/en/latest/host-integration/can.html)
  - [Host requirements](https://renode.readthedocs.io/en/latest/host-integration/can.html#host-requirements)
  - [Creating a SocketCAN bridge](https://renode.readthedocs.io/en/latest/host-integration/can.html#creating-a-socketcan-bridge)
- [Arduino IDE/CLI integration](https://renode.readthedocs.io/en/latest/host-integration/arduino.html)
  - [Installing TensorFlow examples](https://renode.readthedocs.io/en/latest/host-integration/arduino.html#installing-tensorflow-examples)
  - [Configuring Renode](https://renode.readthedocs.io/en/latest/host-integration/arduino.html#configuring-renode)
  - [Loading from Arduino IDE](https://renode.readthedocs.io/en/latest/host-integration/arduino.html#loading-from-arduino-ide)
  - [Loading from Arduino CLI](https://renode.readthedocs.io/en/latest/host-integration/arduino.html#loading-from-arduino-cli)
  - [Starting the simulation](https://renode.readthedocs.io/en/latest/host-integration/arduino.html#starting-the-simulation)
- [Sharing files between host and simulated platform](https://renode.readthedocs.io/en/latest/host-integration/sharing-files.html)
  - [Sharing files using VirtIO block device](https://renode.readthedocs.io/en/latest/host-integration/sharing-files.html#sharing-files-using-virtio-block-device)
  - [Directory sharing](https://renode.readthedocs.io/en/latest/host-integration/sharing-files.html#directory-sharing)
  - [Sharing files using TFTP](https://renode.readthedocs.io/en/latest/host-integration/sharing-files.html#sharing-files-using-tftp)

Advanced topics

- [Co-simulating with an HDL simulator](https://renode.readthedocs.io/en/latest/advanced/co-simulating-with-an-hdl-simulator.html)
  - [Adding co-simulated blocks](https://renode.readthedocs.io/en/latest/advanced/co-simulating-with-an-hdl-simulator.html#adding-co-simulated-blocks)
  - [DPI-based integration method](https://renode.readthedocs.io/en/latest/advanced/co-simulating-with-an-hdl-simulator.html#dpi-based-integration-method)
  - [Custom, direct integration method (Verilator-only)](https://renode.readthedocs.io/en/latest/advanced/co-simulating-with-an-hdl-simulator.html#custom-direct-integration-method-verilator-only)
  - [Connecting to verilated models](https://renode.readthedocs.io/en/latest/advanced/co-simulating-with-an-hdl-simulator.html#connecting-to-verilated-models)
- [Building Renode from source](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html)
  - [Prerequisites](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html#prerequisites)
  - [Downloading the source code](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html#downloading-the-source-code)
  - [Building Renode](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html#building-renode)
  - [Creating packages](https://renode.readthedocs.io/en/latest/advanced/building_from_sources.html#creating-packages)
- [Platform description format](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html)
  - [Indentation](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#indentation)
  - [Comments](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#comments)
  - [Basic structure](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#basic-structure)
  - [Values](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#values)
  - [Registration info](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#registration-info)
  - [Core-specific registrations](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#core-specific-registrations)
  - [Attributes](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#attributes)
  - [Inline objects](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#inline-objects)
  - [Depending on other files](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#depending-on-other-files)
  - [Entry override order](https://renode.readthedocs.io/en/latest/advanced/platform_description_format.html#entry-override-order)
- [Time framework](https://renode.readthedocs.io/en/latest/advanced/time_framework.html)
  - [Time and performance units](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#time-and-performance-units)
  - [Time sources and sinks](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#time-sources-and-sinks)
  - [Synchronization](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#synchronization)
  - [Time domain](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#time-domain)
  - [Configuration and monitoring](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#configuration-and-monitoring)
  - [CPU pausing vs. halting](https://renode.readthedocs.io/en/latest/advanced/time_framework.html#cpu-pausing-vs-halting)
- [Peripheral modeling guide](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html)
  - [How does access to the system bus work?](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#how-does-access-to-the-system-bus-work)
  - [What if there is no peripheral mapped at given offset?](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#what-if-there-is-no-peripheral-mapped-at-given-offset)
  - [What happens when the peripheral does not implement the given access width?](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#what-happens-when-the-peripheral-does-not-implement-the-given-access-width)
  - [Writing a peripheral model in C#](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#writing-a-peripheral-model-in-c)
  - [Register modeling guidelines](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#register-modeling-guidelines)
  - [Bus peripheral size](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#bus-peripheral-size)
  - [Testing guidelines](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#testing-guidelines)
  - [Example peripherals](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#example-peripherals)
  - [Automatic generation of peripheral stubs](https://renode.readthedocs.io/en/latest/advanced/writing-peripherals.html#automatic-generation-of-peripheral-stubs)
- [Loading assembly to memory](https://renode.readthedocs.io/en/latest/advanced/loading-assembly-to-memory.html)
  - [Prerequisites](https://renode.readthedocs.io/en/latest/advanced/loading-assembly-to-memory.html#prerequisites)
  - [Compiling assembly code to an executable](https://renode.readthedocs.io/en/latest/advanced/loading-assembly-to-memory.html#compiling-assembly-code-to-an-executable)
  - [Debugging tlib](https://renode.readthedocs.io/en/latest/advanced/loading-assembly-to-memory.html#debugging-tlib)

Tutorials

- [Microsemi Mi-V example](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html)
  - [Installation](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#installation)
  - [Starting Renode](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#starting-renode)
  - [Scripts](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#scripts)
  - [Loading our setup](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#loading-our-setup)
  - [Simple commands](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#simple-commands)
  - [Debugging and inspection](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#debugging-and-inspection)
  - [SoftConsole integration](https://renode.readthedocs.io/en/latest/tutorials/miv-example.html#softconsole-integration)
- [Testing Zephyr PTP support](https://renode.readthedocs.io/en/latest/tutorials/zephyr-ptp-testing.html)
  - [Prerequisites](https://renode.readthedocs.io/en/latest/tutorials/zephyr-ptp-testing.html#prerequisites)
  - [The test suite](https://renode.readthedocs.io/en/latest/tutorials/zephyr-ptp-testing.html#the-test-suite)
- [Renode, Fomu and EtherBone bridge example](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html)
  - [System architecture](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html#system-architecture)
  - [Prerequisites](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html#prerequisites)
  - [Verifying the device](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html#verifying-the-device)
  - [Loading the bitstream (optional)](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html#loading-the-bitstream-optional)
  - [Running the demo](https://renode.readthedocs.io/en/latest/tutorials/fomu-example.html#running-the-demo)
- [USB/IP support](https://renode.readthedocs.io/en/latest/tutorials/usbip.html)
  - [USB/IP protocol](https://renode.readthedocs.io/en/latest/tutorials/usbip.html#usb-ip-protocol)
  - [Creating a USB/IP server](https://renode.readthedocs.io/en/latest/tutorials/usbip.html#creating-a-usb-ip-server)
  - [Exporting devices](https://renode.readthedocs.io/en/latest/tutorials/usbip.html#exporting-devices)
  - [Attaching exported device to host](https://renode.readthedocs.io/en/latest/tutorials/usbip.html#attaching-exported-device-to-host)
  - [Real life scenario: Foboot](https://renode.readthedocs.io/en/latest/tutorials/usbip.html#real-life-scenario-foboot)
- [Co-simulating your verilated model](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html)
  - [Creating a verilated peripheral](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#creating-a-verilated-peripheral)
  - [Building a verilated peripheral](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#building-a-verilated-peripheral)
  - [Running a verilated peripheral](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#running-a-verilated-peripheral)
  - [Using Renode Verilator sample peripherals](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#using-renode-verilator-sample-peripherals)
  - [Performance of the simulation](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#performance-of-the-simulation)
  - [Verilator Trace](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#verilator-trace)
  - [Core-v-mcu “Hello World” example with verilated UART](https://renode.readthedocs.io/en/latest/tutorials/co-simulating-custom-hdl.html#core-v-mcu-hello-world-example-with-verilated-uart)
- [Bluetooth Low Energy simulation in Renode](https://renode.readthedocs.io/en/latest/tutorials/ble-simulation.html)
  - [Running a precompiled demo](https://renode.readthedocs.io/en/latest/tutorials/ble-simulation.html#running-a-precompiled-demo)
  - [Building your own Zephyr samples](https://renode.readthedocs.io/en/latest/tutorials/ble-simulation.html#building-your-own-zephyr-samples)
  - [Looking into the script](https://renode.readthedocs.io/en/latest/tutorials/ble-simulation.html#looking-into-the-script)
  - [Packet interception hooks with BLE](https://renode.readthedocs.io/en/latest/tutorials/ble-simulation.html#packet-interception-hooks-with-ble)
- [BLE HCI integration with Renode](https://renode.readthedocs.io/en/latest/tutorials/ble-hci-integration.html)
  - [Integration with Android Emulator](https://renode.readthedocs.io/en/latest/tutorials/ble-hci-integration.html#integration-with-android-emulator)
  - [Bluetooth Mesh networking](https://renode.readthedocs.io/en/latest/tutorials/ble-hci-integration.html#bluetooth-mesh-networking)

* * *


Last update:
2026-02-06



Versions**[latest](https://renode.readthedocs.io/en/latest/)**On Read the Docs[Project Home](https://app.readthedocs.org/projects/renode/?utm_source=renode&utm_content=flyout)[Builds](https://app.readthedocs.org/projects/renode/builds/?utm_source=renode&utm_content=flyout)Search

* * *

[Addons documentation](https://docs.readthedocs.io/page/addons.html?utm_source=renode&utm_content=flyout) ― Hosted by
[Read the Docs](https://about.readthedocs.com/?utm_source=renode&utm_content=flyout)