使用ripes進(jìn)行risc-v可視化仿真調(diào)試 (qq.com)
前言
在學(xué)習(xí)RISC-V時往往需要有一些工具進(jìn)行匯編級別的代碼仿真調(diào)試,或者進(jìn)行一些可視化的仿真,一般使用qemu,但是其對于新手來說稍微顯得有點(diǎn)復(fù)雜。ripes則是一個非常不錯的項(xiàng)目可以滿足這種需求,并且其提供一些可視化的模塊,可以進(jìn)行仿真測試,很方便。
項(xiàng)目地址如下:
https://github.com/mortbopet/Ripes
下載
https://github.com/mortbopet/Ripes/releases
下載最新版本Ripes-v2.2.6-3-g605cb01-win-x86_64.zip
解壓即可使用
使用
Processor
雙擊打開Ripes.exe
點(diǎn)擊如下圖標(biāo)即可運(yùn)行,默認(rèn)顯示Processor界面
中間是處理器的框圖,會顯示狀態(tài)
右邊是寄存器值,
右下角是執(zhí)行的指令序列
旁邊是性能指標(biāo)比如執(zhí)行了多少個Cycles,圖中是95;執(zhí)行了多少指令圖中是85;每個周期執(zhí)行多少條指令I(lǐng)PC圖中是0.895即85/95,每條指令的周期數(shù)CPI圖中為1.12即95/85;時鐘頻率。
Memory
點(diǎn)擊左側(cè)Memory圖標(biāo)可以查看內(nèi)存信息,右邊是存儲布局,
下面的下拉框可以選擇要查看的存儲區(qū)塊和地址。
Cache
點(diǎn)擊左側(cè)的Cache圖標(biāo),可以看到Cache信息,可以切換查看L1 Data和L1 Instr Cache。
代碼
點(diǎn)擊左側(cè)Editor,可以看到代碼,以及寄存器值
可以按如下圖標(biāo)單步運(yùn)行,進(jìn)行仿真調(diào)試
配置
菜單欄Edit->Settings
UI相關(guān)配置,一般不需要修改
仿真相關(guān)配置,一般不需要修改,記住IO的開始地址,自己編程需要使用
編譯器設(shè)置,設(shè)置自己的編譯的地址,在windows下可使用riscv
-none-embed-gcc,編譯參數(shù)按照實(shí)際修改,后面設(shè)置text,data,bss段的地址一般默認(rèn)即可
編輯器設(shè)置,一般默認(rèn)即可
使用例程
也可以使用樣例程序,有C程序,匯編程序和已經(jīng)編譯好的elf程序。
LED樣例
打開leds.c程序
按照如下點(diǎn)擊LED Matrix添加LED矩陣
打開編輯器,看到LED矩陣的寄存器基地址LED_MATRIX_0_BASE
和剛才生成的對應(yīng),LED_MATRIX_0_WIDTHxLED_MATRIX_0_HEIGHT是剛才的矩陣大小
編譯
運(yùn)行
可以看到LED顯示如下
還有開關(guān)和按鍵的模塊可以使用
總結(jié)
使用ripes可以快速進(jìn)行驗(yàn)證。在學(xué)習(xí)risc-v匯編時比較方便,可以對照c和匯編進(jìn)行調(diào)試;有LED和按鍵,開關(guān)等基本模塊進(jìn)行可視化仿真,是risc-v學(xué)習(xí)的一個不錯的工具。
審核編輯:湯梓紅
-
嵌入式
+關(guān)注
關(guān)注
5068文章
19014瀏覽量
303231 -
仿真
+關(guān)注
關(guān)注
50文章
4040瀏覽量
133412 -
調(diào)試
+關(guān)注
關(guān)注
7文章
572瀏覽量
33897 -
可視化
+關(guān)注
關(guān)注
1文章
1177瀏覽量
20889 -
RISC-V
+關(guān)注
關(guān)注
44文章
2228瀏覽量
46026
發(fā)布評論請先 登錄
相關(guān)推薦
評論