《RISC-V 体系结构编程与实践(第2版)》阅读心得之二--搭建RISC-V实验环境
本帖最后由 goldjack 于 2024-12-2 22:19 编辑<p style="text-align:justify"><span style="color:#000000"> 因为手头没有RISC-V开发板,所以就借助奔跑吧Linux社区提供的VM</span><span style="color:#000000">ware</span><span style="color:#000000">镜像在Windows上搭建了模拟的测试环境,并做了该书第二章中的主要实验。</span></p>
<p style="text-align:justify"><span style="color:#000000"> 首先根据奔跑吧Linux社区提供的网址下载了rlk_vmware_image_第二版_v1.5.2压缩包,把它加压后备用。</span></p>
<p style="text-align:justify"><span style="color:#000000"> 接着下载了VMware-player-full-17.5.0-22583795-win11用这个版本.exe文件,在 Win11上安装。</span></p>
<p style="text-align:justify"><span style="color:#000000"> 启动VMware Workstation 17 Player之后,导入上面已解压的虚拟机rlk_image_v2。</span></p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 当你启动虚拟机的时候,可能会遇到一些问题:</p>
<p style="text-align:justify"> 1)提示你运行虚拟机时启用了侧通道缓解。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 解决办法:VMware Workstation Player本身不含“高级”选项,你可以忽略或安装VMware Workstation。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 2) 此平台不支持虚拟化的Intel VT-x/EPT,模块”HV””启动失败。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 解决办法:你可以通过从Windows控制面板-->程序-->程序和功能-->启用或关闭Windows功能中,关闭Hyper-V功能。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 该书的大部分试验是基于一个简单的小型操作系统试验平台BenOS,这个平台可以运行在QEMU和NEMU上。QEMU(Quick EMUlator)和NEMU是两种开源的模拟器。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 实验一:在QEMU上运行BenOS:</p>
<p style="text-align:justify"> QEMU输出“Welcome RISC-V!”说明成功运行了BenOS。</p>
<p style="text-align:justify"> 关闭QEMU的方法是先按CTRL+A,然后松手、快速按X键。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 实验二:单步调试BenOS和MySBI(运行在M模式下的固件):</p>
<p style="text-align:justify"> 先在第一个终端(Terminal)中启动QEMU虚拟机的gdbserver:</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 再在第二个终端(Terminal)中启动GDB工具:</p>
<p style="text-align:justify"> cd /home/rlk/rlk/riscv_programming_practice/chapter_2/benos</p>
<p style="text-align:justify"> gdb-multiarch -tui benos.elf</p>
<p style="text-align:justify"> 执行如上命令就可以用工具对BenOS进行单步调试了。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 同理,也可以用同样的方法用GDB工具单步调试MySBI固件的elf文件。</p>
<p style="text-align:justify"> 先在第一个终端(Terminal)中启动QEMU虚拟机的gdbserver:</p>
<p style="text-align:justify"> cd /home/rlk/rlk/riscv_programming_practice/chapter_2/benos</p>
<p style="text-align:justify"> make debug</p>
<p style="text-align:justify"> 再在第二个终端(Terminal)中启动GDB工具调试MySBI:</p>
<p style="text-align:justify"> cd /home/rlk/rlk/riscv_programming_practice/chapter_2/benos</p>
<p style="text-align:justify"> gdb-multiarch -tui mysbi.elf</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> 初步的模拟实验环境搭好了,后面可以边学边做实验了。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"><em><em> To be continued......</em></em></p>
<p>收益匪浅,正在作这方面的工作,试了好多次都没成功,无意间看到这个贴子,照着做了一遍,差不多有点意思了,还在继续努力中</p>
<p>希望能为你的工作提供些许可借鉴之处。<img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/handshake.gif" width="48" /></p>
<p> </p>
<p>其实软件安装中还有一些其他Tips,但不一定具有普遍性。比如有些版本的Windows上没有安装Hyper-V,需要自行安装。但限于篇幅,没有面面俱到。</p>
<p> </p>
<p> </p>
gtq 发表于 2024-12-3 15:55
哇塞,学到啦,超感谢!多多积累经验哈,盼着有那么一天能派上用场呢。
<p>一起学习!</p>
页:
[1]