Develop your IoT product ļæ½with Renodeā¢
By:
Develop your IoT product ļæ½with Renodeā¢
By:
Renode in short
By:
What you can do with Renode
Continuous Integration, testing
TinyML development
Architectural exploration, pre-silicon development
IoT development, operating systems porting
Network protocols implementation and validation
Security analysis
By:
Renodeās strengths
By:
Plug-and-play building blocks
By:
Peripherals & sensors
Our focus is not just on cores, but also SoC peripherals
As well as sensors:
This allows things like simulating multi-node robotics systems, end-to-end machine learning processing in simulation with real and synthetic data - with the same binaries as you would run ļæ½on hardware.
By:
Simulate complex systems, including multi-node
By:
Notable Renode users
By:
By:
Supported architectures
By:
Software agnostic - run whatever you want
By:
Supported IDE
By:
Debugging and tracing
01 / 07
By:
Debugging with GDB
By:
Execution and event tracing
By:
Online disassembly
-------------------------
IN: log_core_init (address: 0x80002e30)
0x80002e30: 800037b7 lui a5, 524291
0x80002e34: 000a1537 lui a0, 161
0x80002e38: d9078793 addi a5, a5, -624
0x80002e3c: 80040737 lui a4, 524352
0x80002e40: 22050513 addi a0, a0, 544
0x80002e44: 0af72423 sw a5, 168(a4)
0x80002e48: 5c0010ef jal 5568
By:
Logging
By:
Scriptability
02 / 07
By:
Internal scripting language
using sysbus
mach create $name
machine LoadPlatformDescription
@platform.repl
emulation CreateSwitch "switch"
connector Connect ethmac switch
emulation CreateNetworkServer "server"
"192.168.100.100"
connector Connect server switch
server StartTFTP 6069
server.tftp ServeFile $micropython
"boot.bin"
showAnalyzer uart
macro reset
"""
sysbus LoadBinary $bios 0x0
cpu PC 0x0
"""
runMacro $reset
By:
Python support
(machine) include @notification_helper.py
(machine) set py_notification_hook
> """
> # recipient and get_recipients defined in external file
> for recipient not get_recipients():
> recipient.send_notification(self.line)
> """
(machine) uart AddLineHook "interesting value" $py_notification_hook
(machine) cpu AddHookAtInterruptBegin
"self.DebugLog('exception %d' % exceptionIndex)"
By:
Text-based platform descriptions
nvic: IRQControllers.NVIC @ sysbus 0xE000E000
-> cpu@0
cpu: CPU.CortexM @ sysbus
cpuType: "cortex-m4"
nvic: nvic
spi2: SPI.NRF52840_SPI @ sysbus 0x40023000
-> nvic@0x23
gpio0: GPIOPort.NRF52840_GPIO @ sysbus 0x50000000
gpiote: GPIOPort.NRF52840_GPIOTasksEvents @ sysbus 0x40006000
port0: gpio0
-> nvic@6
uart0: UART.NRF52840_UART @ sysbus 0x40002000
easyDMA: true
-> nvic@2
By:
Easy prototyping with model stubs
rcc: Python.PythonPeripheral @ sysbus 0x40023800
size: 0x400
initable: true
script: ā0xFFFFFFFF if request.offset != 0x8 else 0xFFFFFFFAā
pwrCr1: Python.PythonPeripheral @ sysbus 0x40007000
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"
By:
HW descriptions with SVD support
sysbus:
init:
Tag <0x400E0940 0x4> "CIDR" 0xa1020e00
ApplySVD @ATSAME70Q21.svd
By:
CI and testing
03 / 07
By:
Renode-based Continuous Integration workflow for IoT systems
By:
CI integrations
By:
Robot Framework
Should Print To Uart
Setup Machine
Start Emulation
Wait For Line On Uart The LEDs show the ASCII code of the last character.
Provides initialization
Should Echo On Uart
Requires initialization
Write Line To Uart Testing testing 1-2-3
Provides working-uart
By:
Execution metrics
Renode emulation
Machine
Profiler
Matplotlib backend
PNG files
Metrics Analyzer
PNG
Dump
File
By:
Events recording
By:
State saving
By:
Determinism of execution
By:
HW/SW co-development
04 / 07
By:
Co-simulation with HDL simulator
By:
Co-simulation with HDL simulator
By:
Co-simulation with Hardware via Etherbone bridge
By:
Co-simulation with Hardware via Etherbone bridge
By:
Networking and multi-node
connectivity
05 / 07
By:
Networking
By:
Wired networking
By:
Wireless
By:
Network bridging
By:
Wireshark support
By:
Host/guest integration
By:
Selected case studies
06 / 07
By:
TensorFlow Lite Micro
By:
QuickLogic
By:
Next step: RISC-V + open source FPGA
By:
Microchip PFSoC
By:
Precursor
By:
Dover Microsystems
By:
Zephyr Project
By:
VEDLIOT
By:
Renode in education
By:
Get Started
07 / 07
By:
Packages for all major OSās
Download the latest release from GitHub
By:
Renode Portable for Linux
By:
Other methods
By:
Renode in Google Colab
By:
Renode in Google Colab
By:
Use our Renode development services
Setting up CI and improving development workflows ļæ½in your organization
Building customized tools, user interfaces ļæ½and integrations
Professional support, implementing ļæ½new platforms
Embedded systems development services powered by the ļæ½RENODE methodology
By:
Reach out to us:
Interested?
By: