Renode is a development framework which accelerates IoT and embedded systems development by letting you simulate physical hardware systems - including both the CPU, peripherals, sensors, environment and wired or wireless medium between nodes. For more information, see Renode’s official website.
[env:myenv] platform = ... board = ... debug_tool = renode
We will automatically install for you the latest Renode package using PlatformIO package manager. The only requirement is to install Mono/.NET framework.
|Windows:||On Windows 7, download and install .NET Framework 4.7. Windows 10 ships with .NET by default, so no action is required there.|
|Mac:||Install Homebrew and the
Check the official Renode installation guide for more details.
If the default Renode configuration is not suitable for your project, it’s possible to override the default Renode flags in “platformio.ini” (Project Configuration File). The following sections describe typical use cases where custom settings might be useful.
Additional analyzers might be handy in cases when an application prints output to a
peripheral which is not visible by default. For example, to open an additional UART
window while using Renode as the upload tool, a special command
be added to
upload_flags option, e.g.:
[env:hifive1-revb] platform = sifive framework = zephyr board = hifive1-revb ; Override the default upload settings upload_command = renode $UPLOAD_FLAGS upload_flags = -e include @scripts/single-node/sifive_fe310.resc -e showAnalyzer uart1 -e sysbus LoadELF @$SOURCE -e start
It might be useful to redirect output from device peripherals to a more convenient
communication channel. A typical example is redirecting UART output to a socket which
can be opened by pio device monitor while using Renode as the debug tool.
The default debug flags can be overridden using the
debug_server option. For
example, the following configuration can be used to redirect output from the
port on the
[env:hifive1-revb] platform = sifive framework = zephyr board = hifive1-revb ; Override the default debug settings debug_tool = custom debug_port = localhost:3333 debug_server = renode --hide-log -e machine StartGdbServer 3333 True -e emulation CreateServerSocketTerminal 4321 "externalUART" false -e connector Connect uart0 externalUART debug_extra_cmds = monitor start # Monitor port for Renode integration monitor_port = socket://localhost:4321
- Pre-configured projects for Zephyr RTOS, FreeRTOS, and Arduino by Carlos Eduardo
|SiFive||SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.|
|FreeRTOS||FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 40 microcontroller platforms|
|Freedom E SDK||Open Source Software for Developing on the SiFive Freedom E Platform|
|Zephyr RTOS||The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind|
For more detailed
board information please scroll tables below by horizontal.
|Arty FPGA Dev Kit||SiFive||On-board||FE310||450MHz||16MB||256MB|
|HiFive1 Rev B||SiFive||On-board||FE310||320MHz||16MB||16KB|
|SparkFun RED-V RedBoard||SiFive||On-board||FE310||320MHz||16MB||16KB|
|SparkFun RED-V Thing Plus||SiFive||On-board||FE310||320MHz||16MB||16KB|