hello大家好!
上一节已经生成并检查了 RISC-V 可执行文件 hello-riscv64。这一节使用 Ruyi 虚拟环境提供的 ruyi-qemu 在 WSL 电脑上运行它,并通过退出状态确认程序是否正常结束。
这里使用的是 QEMU 用户态模拟器:它执行单个 RISC-V Linux 用户态程序,不会启动一套完整的 RISC-V 操作系统。
一、进入项目并激活环境
cd ~/ruyisdk-work/hello-ruyi
source ./ruyi-venv/bin/ruyi-activate
command -v ruyi-qemu
ruyi-qemu --version
ruyi-qemu 的路径应指向当前项目的 ruyi-venv/bin/。
二、检查待运行程序
ls -lh ./hello-riscv64
file ./hello-riscv64
file 输出中应包含 RISC-V 和 statically linked。如果文件不存在或显示 x86-64,先回到第 06 节重新编译。
三、使用 QEMU 运行
ruyi-qemu ./hello-riscv64
正常应输出:
Hello, RuyiSDK!
继续检查退出状态:
echo $?
输出 0 表示上一条程序正常结束。
四、理解本期结果
WSL 主机执行的是 x86-64 指令,hello-riscv64 包含 RISC-V 指令。QEMU 在两者之间完成指令模拟,因此无需实际开发板也能先验证这个用户态程序。
本教程使用虚拟环境中的 ruyi-qemu,是为了让模拟器版本与当前 Ruyi 环境保持一致。前一期采用静态链接,则减少了动态加载器和目标共享库不匹配带来的干扰。
五、本节完成标准
- 已重新激活
ruyi-venv; ruyi-qemu指向当前虚拟环境;- 已确认
hello-riscv64是 RISC-V 静态链接程序; - QEMU 输出
Hello, RuyiSDK!; echo $?输出0;- 能区分用户态模拟与完整系统模拟。
完整图文教程: ruyisdk-windows-wsl-guide/docs/07-run-with-qemu.md at master · shenghailing00-stack/ruyisdk-windows-wsl-guide · GitHub
配套视频教程: 【RuyiSDK 新手教程 07】使用 QEMU 运行 RISC-V 程序_哔哩哔哩_bilibili
下一节将在 VS Code Remote - WSL 中复现“编辑、编译、检查、运行”的完整流程。
欢迎交流~