RISC-V使用ripes进行可视化仿真调试

描述

本文转自公众号,欢迎关注

使用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

解压即可使用

使用

Processor

双击打开Ripes.exe

点击如下图标即可运行,默认显示Processor界面

嵌入式

中间是处理器的框图,会显示状态

右边是寄存器值,

右下角是执行的指令序列

旁边是性能指标比如执行了多少个Cycles,图中是95;执行了多少指令图中是85;每个周期执行多少条指令IPC图中是0.895即85/95,每条指令的周期数CPI图中为1.12即95/85;时钟频率。

Memory

点击左侧Memory图标可以查看内存信息,右边是存储布局,

下面的下拉框可以选择要查看的存储区块和地址。

嵌入式

Cache

点击左侧的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程序。

嵌入式

嵌入式

嵌入式

LED样例

打开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学习的一个不错的工具。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分