了解硬件模拟器
简介
我们有了操作系统的代码,那要在哪里去运行呢。我们当然可以像计算机组成原理一样去烧制一块RISC-v架构的开发板,然后去debug。虽然这样可以,但duck不必,使用模拟器会使我们的实验更加方便。模拟器就是在计算机上通过软件模拟一个RISC-v架构的硬件平台,从而能够运行RISC-v的目标代码。
模拟器有很多,但我们为了方便,选择的是QEMU模拟器,的优点在于,内置了一套OpenSBI固件的实现,可以简化我们的代码。
常用命令
help | 查看 qemu 帮助,显示所有支持的命令。 |
q、quit、exit | 退出 qemu。 |
stop | 停止 qemu。 |
c、cont、continue | 连续执行。 |
x /fmt addr xp /fmt addr | 显示内存内容,其中 'x' 为虚地址,'xp' 为实地址。 参数 /fmt i 表示反汇编,缺省参数为前一次参数。 |
p、print | 计算表达式值并显示,例如 $reg 表示寄存器结果。 |
memsave addr size file pmemsave addr size file | 将内存保存到文件,memsave 为虚地址,pmemsave 为实地址。 |
breakpoint 相关: | 设置、查看以及删除 breakpoint,pc执行到 breakpoint,qemu 停止。(暂时没有此功能) |
watchpoint 相关: | 设置、查看以及删除 watchpoint, 当 watchpoint 地址内容被修改,停止。(暂时没有此功能) |
s、step | 单步一条指令,能够跳过断点执行。 |
r、registers | 显示全部寄存器内容。 |
info 相关操作 | 查询 qemu 支持的关于系统状态信息的操作。 |
其他具体的命令格式以及说明,参见 qemu help 命令帮助。
最后更新于