2. 使用命令行启动和停止仿真
任务说明
本案例目标是通过Renode命令行工具完成一次完整的仿真生命周期管理:启动仿真、观察运行状态、暂停仿真、恢复仿真,最终停止仿真并退出。你将使用Renode自带的演示平台(含虚拟UART输出),通过命令行交互验证每一步操作的效果。
启动Renode命令行
在终端中直接输入renode即可进入交互式命令行(Mono命令提示符显示为(mono))。若需要带图形界面启动,可使用renode --disable-xwt仅启动命令行模式,本案例全部操作均在纯命令行下完成。
创建仿真并加载平台
Renode内置了多个演示平台,本案例使用nrf52开发板平台,该平台包含Cortex-M4核心与UART外设。在Renode命令行中依次执行:
(machine) mach create
(machine) machine LoadPlatformDescription @platforms/boards/nrf52-bluetooth.repl
(machine) machine Start
第一条命令创建名为machine的虚拟设备;第二条命令加载nRF52平台描述文件;第三条命令启动仿真。启动后CPU开始执行固件(平台默认加载了演示固件,会周期性通过UART输出字符)。
观察仿真输出
启动后,UART输出会直接显示在终端中。若输出过快,可先暂停仿真再观察。执行以下命令暂停:
(machine) machine Pause
暂停后终端输出停止。此时可执行machine GetTime查看虚拟时间戳,确认仿真已冻结。恢复仿真执行:
(machine) machine Start
输出恢复。最后停止并退出仿真:
(machine) machine Stop
(machine) quit
machine Stop终止仿真但保留机器状态,quit退出Renode进程。
验证与判定标准
完成上述操作后,按以下标准验证是否通过:
- 执行
machine Start后终端出现UART字符输出(如nRF52 demo字样或十六进制数据),说明仿真已运行; - 执行
machine Pause后输出立即停止,且machine GetTime返回的时间值不再增长,说明暂停生效; - 再次执行
machine Start后输出恢复,时间戳继续递增,说明恢复成功; - 执行
machine Stop后machine GetTime不再变化,且执行quit能正常退出Renode,无报错。
命令行操作时序
关键命令速查
| 命令 | 作用 | 验证方式 |
|---|---|---|
mach create | 创建新机器实例 | 无输出即成功 |
machine LoadPlatformDescription <路径> | 加载平台描述 | 无报错即成功 |
machine Start | 启动/恢复仿真 | UART出现输出 |
machine Pause | 暂停仿真 | 输出停止,GetTime不变 |
machine Stop | 停止仿真 | GetTime不再变化 |
machine GetTime | 查看虚拟时间 | 返回数值(单位秒) |
quit | 退出Renode | 进程结束 |
若在加载平台时提示找不到文件,请确认Renode安装目录下存在platforms/boards/nrf52-bluetooth.repl;若UART无输出,可尝试执行machine Uart0 WriteLine "test"手动发送数据验证外设通路。