Renode 是一个开发框架,通过让你模拟物理硬件系统来加速物联网和嵌入式系统开发。Renode 可以模拟 Cortex-M、RISC-V 等微控制器,不仅可以模拟 CPU指令,还可以模拟外设,甚至可以模拟板载的外设。更强的是,它可以让你在你的 PC 上运行、调试和测试未经修改的嵌入式软件-从裸机系统芯片,通过完整的设备到多节点系统。它广泛的网络支持和多系统仿真使它成为由多个设备组成的一个测试系统。
官网:https://renode.io/。
它的官方文档:https://renode.readthedocs.io/en/latest/
使用 Renode,您可以在硬件准备就绪之前开始开发,在不部署硬件的情况下测试程序,并通过减少闪存加载延迟来缩短迭代周期。
Renode 的指令模拟器使用 C 语言编写,外设模拟器使用 C# 语言编写,兼顾了运行效率和开发效率。老版本是用Mono 构建的,最新版本已经升级到.NET 6: https://github.com/renode/renode。
System-On‑Chip片上系统
Renode 可以让您从构建模块组装虚拟系统芯片,包括 Cortex-M、 Cortex-A、 RISC-V 和其他 cpu 以及各种通信总线和接口。这完全是一个简单的、基于文本的配置问题,因此您不必复制粘贴代码和修改硬编码值来构建所需的平台。这种灵活性或 Renode 能够实现。
drivers驱动
添加发光二极管,按钮,传感器,管理单元上的无线电模块,你就完成了!是的,Renode 还可以模拟整个设备,这意味着您可以运行您正在/将要在生产中使用的未经修改的固件。你的虚拟电路板可以包括多个 soc、传感器和执行器。这使您可以转换到软件优先的工作流程: 使用 Renode 编写您的软件,尝试各种硬件配置,并根据实际需要构建您的物理平台。
Renode 项目发布 Windows、 MacOS 和多个 Linux 发行版的安装程序。在撰写本文时,您可以在 Github 上找到 v1.13.2版本:https://github.com/renode/renode/releases/tag/v1.13.2。
我在windows 下安装的,下载 https://github.com/renode/renode/releases/download/v1.13.2/renode_1.13.2.msi ,安装到了目录C:\Program Files\Renode\
Renode 集成了 Ironpython 运行Python:
运行之后,renode 会开启新的命令窗口用作renode 命令输入,原来的命令行窗口作为renode的日志输出窗口使用,我们可以直接在终端中直接输入help
来查看它所支持的命令有哪些,也可以使用help xxx
的方式来查看具体某个命令的详细使用方法。
具体用法参考官方文档:https://renode.readthedocs.io/en/latest/