
renode v1.17.0
用于开发、测试和调试未经修改软件的多节点嵌入式与物联网系统开源仿真框架,支持ARM、RISC-V、x86等多种架构。
Renode
版权 (c) 2010-2026 Antmicro
Renode 是什么?
Renode 由 Antmicro 创建,是一个用于多节点嵌入式网络(有线和无线)的虚拟开发工具,旨在实现可扩展的工作流程,以创建高效、经过测试且安全的物联网系统。
使用 Renode,可以快速、经济高效且可靠地开发、测试、调试和模拟物联网设备的未经修改的软件。
支持的架构包括:
- ARMv7 和 ARMv8 Cortex-A、Cortex-R 和 Cortex-M
- x86 和 x86_64
- RISC-V
- SPARC
- POWER
- Xtensa
- MSP430X
为什么使用 Renode?
Renode 基于多年嵌入式系统(包括网关、车载计算机以及传感器节点和微控制器)软件开发的经验而创建。
测试和开发物理嵌入式系统很困难,因为可重复性差,且难以深入了解系统状态,尤其是在多节点场景中。
Renode 通过让您在虚拟板或板系统上运行通常烧录到目标硬件上的未经修改的二进制文件来解决此问题。
该工具的一个重要方面是它不仅模拟 CPU,还模拟整个 SoC(例如,异构多核 SoC 和各种外设)以及它们之间的有线或无线连接,使用户能够处理复杂的场景并测试实际的生产软件。
安装
可用的构建版本和发布版本
每日构建版本
所有系统的 Renode 每日构建版本可在 builds.renode.io 获取。
最新构建版本始终以 renode-latest.* 包的形式提供。可用的包格式如下:
renode-latest.linux-portable.tar.gz- 便携式 Linux 包,内嵌 dotnet 运行时renode-latest.linux.tar.gz- Linux 预构建归档,需要在主机上安装 dotnetrenode-latest.pkg.tar.xz- Arch Linux 包renode-latest.x86_64.rpm- Red Hat / Fedora 包renode-latest.deb- 基于 Debian 的发行版包renode-latest.osx-arm64-portable.dmg- 适用于 Apple Silicon (arm64) Mac 的 macOS 包renode-latest.osx-x64-portable.dmg- 适用于 Intel (x86_64) Mac 的 macOS 包renode-latest.windows-portable.zip- Windows 便携式包,无安装程序renode-latest.setup.exe- Windows 安装程序renode-latest.tar.xz- Renode 源码
稳定版本
带有编号的稳定版本及其发行说明可在 GitHub 的 Releases 部分 获取。
通过 homebrew tap 安装
在 macOS 上,可以通过我们的自定义 tap 使用 Homebrew 安装 Renode 的稳定版和每日构建版。要安装稳定版本,请使用 brew install renode/tap/renode,或使用 brew install renode/tap/renode-nightly 安装最新的每日构建版。这将安装所有依赖项,包括为 renode-test 预先配置 python 环境。
使用 Linux 便携版
如果您是 Linux 用户,使用 Renode 最简单的方法是下载最新的 linux-portable 包,下载地址在 releases 部分,然后使用以下命令解压:
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
要从任何位置使用它,请进入创建的目录并将其添加到系统路径:
cd renode_portable
export PATH="`pwd`:$PATH"
请注意,便携式包需要主机上安装 GTK2 才能启用 UI 运行。
如果您希望使用 Robot Framework 进行测试,请按照其他前置条件部分操作。否则,请继续执行“运行 Renode”部分。
安装依赖项
dotnet
Renode 需要 dotnet >= 6.0。
要安装 dotnet,请遵循官方安装指南。
其他依赖项(仅限 Linux)
在 Ubuntu 20.04 上,您可以使用以下命令安装其余依赖项:
sudo apt-get install policykit-1 libgtk2.0-0 screen uml-utilities gtk-sharp2 libc6-dev libicu-dev gcc python3 python3-pip
如果您运行的是不同的发行版,则需要使用包管理器安装类似的包列表;请注意,包名称可能略有不同。
从包安装
转到此仓库的 releases 部分 并下载适合您系统的包。
Linux
使用您首选的包管理器,通过提供的 *.deb、*.rpm 或 *.pkg.tar.xz 包安装 Renode。
macOS
像往常一样使用提供的 *.dmg 文件。另外,要在 macOS 上从命令行使用 Renode,请通过将 alias renode='/Applications/Renode.app/Contents/MacOS/renode' 和 alias renode-test='/Applications/Renode.app/Contents/MacOS/renode-test' 添加到您的 .bashrc 或 .zshrc 文件(取决于您使用的 shell)来创建适当的别名。
Windows
从提供的 *.msi 文件安装 Renode。安装程序将允许您将图标添加到桌面和/或开始菜单,并将条目添加到 PATH。
其他前置条件
Robot Framework 测试
要编写和运行测试用例,Renode 集成了 Robot 测试框架。这需要您安装带有 pip 的 Python 3(在 Windows 上,您还需要 Cygwin - 请参阅高级安装说明)(请注意,相关包在 Linux 上可能称为 python-pip 或 python3-pip)。
安装了 Python 3 和 pip 后,安装额外的模块:
python3 -m pip install -r tests/requirements.txt
其他工具
此外,/tools 子目录中的每个工具可能包含一个与 Renode 要求分开的 requirements.txt 文件。
在您的虚拟环境中使用 pip install -r requirements.txt 安装它们。
从源码构建
有关从源码构建 Renode 的信息,请参阅文档。
运行 Renode
按照上述从包安装的说明操作后,renode 命令应该已在系统范围内可用:
renode [flags] [file]
如果您是从源码构建的,请导航到相关目录并使用:
./renode [flags] [file]
可选的 [file] 参数允许您提供启动时要运行的脚本路径。
该脚本支持几个可选标志,其中最有用的如下所示:
-p 从输出中移除控制码(例如,颜色)
-P INT32 不打开窗口,而是在指定端口上监听 Monitor 命令
-e COMMAND 在启动时执行命令(在可选脚本之后执行)。可多次使用
--console 在控制台而不是单独窗口中运行 Monitor
--disable-gui 禁用 XWT GUI 支持。它自动设置 HideMonitor
--hide-monitor 不显示 Monitor 窗口
--hide-log 不在控制台中显示日志消息
--hide-analyzers 不显示分析器
-v 打印版本并退出
-h 显示帮助和用法信息
Renode 可以在 Windows 系统上运行,使用类似的可选标志集。
示例场景
下面,您可以看到一段在模拟硬件上运行的固件。Renode Monitor 以及显示 UART 输出和记录器的分析器窗口可见。有关此特定设置的更多信息,请参阅其专用仓库。
在 Linux 上运行 Renode 的其他方法
renode-run
renode-run 是一个 Python 脚本,用于下载并运行 Renode,并允许您轻松运行 Renodepedia 中可用的演示以及本地 ELF 文件。使用说明请访问仓库。
renode-run 依赖于便携式包,其主要优势是只需一个命令即可轻松将 Renode 更新到最新的每日构建版。
pyrenode3
pyrenode3 是一个用于以编程方式与 Renode 交互的 Python 库。使用说明请访问仓库。
在 Docker 容器中运行 Renode
如果您想在 Docker 中运行 Renode,可以使用 Docker Hub 上可用的预构建镜像。
要在 Linux 上以交互模式启动 Renode,假设您的系统中已安装 Docker,请运行以下命令之一:
- 对于最新的编号版本构建:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:latest - 对于每日 dotnet 构建:
docker run -ti -e DISPLAY -v $XAUTHORITY:/home/developer/.Xauthority --net=host antmicro/renode:nightly-dotnet
这将显示 Renode Monitor 窗口。或者,您可以在上述行末尾提供自定义命令。
要在没有 X 服务器直通的控制台模式下运行镜像,请运行:
docker run -ti antmicro/renode bash
您可以向命令添加更多的 -v 开关来挂载您自己的目录。
有关更多信息和底层 Dockerfile,请访问 GitHub 上的仓库。
文档
文档可在 Read the Docs 上获取。
许可证与贡献
Renode 采用宽松的 MIT 许可证发布。详情请参阅 LICENSE 文件。
我们欢迎通过 GitHub 的拉取请求/问题提交错误报告、功能请求和贡献。详情请参阅 CONTRIBUTING.md 文件。
商业支持
Renode 的商业支持由 Antmicro 提供,这是一家专门帮助客户采用新嵌入式技术和现代开发方法的公司。
Antmicro 创建并维护 Renode 框架及相关工具,并乐于提供诸如添加新平台、集成、插件和工具等服务。
如需咨询我们的服务,请通过 [email protected] 联系我们。