使用ripes进行risc-v可视化仿真调试 (qq.com)
在学习RISC-V时往往需要有一些工具进行汇编级别的代码仿真调试,或者进行一些可视化的仿真,一般使用qemu,但是其对于新手来说稍微显得有点复杂。ripes则是一个非常不错的项目可以满足这种需求,并且其提供一些可视化的模块,可以进行仿真测试,很方便。
项目地址如下:
https://github.com/mortbopet/Ripes
https://github.com/mortbopet/Ripes/releases
下载最新版本Ripes-v2.2.6-3-g605cb01-win-x86_64.zip
解压即可使用
双击打开Ripes.exe
点击如下图标即可运行,默认显示Processor界面
中间是处理器的框图,会显示状态
右边是寄存器值,
右下角是执行的指令序列
旁边是性能指标比如执行了多少个Cycles,图中是95;执行了多少指令图中是85;每个周期执行多少条指令IPC图中是0.895即85/95,每条指令的周期数CPI图中为1.12即95/85;时钟频率。
点击左侧Memory图标可以查看内存信息,右边是存储布局,
下面的下拉框可以选择要查看的存储区块和地址。
点击左侧的Cache图标,可以看到Cache信息,可以切换查看L1 Data和L1 Instr Cache。
点击左侧Editor,可以看到代码,以及寄存器值
可以按如下图标单步运行,进行仿真调试
菜单栏Edit->Settings
UI相关配置,一般不需要修改
仿真相关配置,一般不需要修改,记住IO的开始地址,自己编程需要使用
编译器设置,设置自己的编译的地址,在windows下可使用riscv
-none-embed-gcc,编译参数按照实际修改,后面设置text,data,bss段的地址一般默认即可
编辑器设置,一般默认即可
菜单栏File->Load Program可以加载程序
也可以使用样例程序,有C程序,汇编程序和已经编译好的elf程序。
打开leds.c程序
按照如下点击LED Matrix添加LED矩阵
打开编辑器,看到LED矩阵的寄存器基地址LED_MATRIX_0_BASE
和刚才生成的对应,LED_MATRIX_0_WIDTHxLED_MATRIX_0_HEIGHT是刚才的矩阵大小
编译
运行
可以看到LED显示如下
还有开关和按键的模块可以使用
使用ripes可以快速进行验证。在学习risc-v汇编时比较方便,可以对照c和汇编进行调试;有LED和按键,开关等基本模块进行可视化仿真,是risc-v学习的一个不错的工具。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !