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

RISC-V 匯編在線仿真器 Ripes OnLine 使用說(shuō)明
可對(duì)任何RISC-V系統(tǒng)進(jìn)行直接編程
RISC-V MCU開(kāi)發(fā) (一):集成開(kāi)發(fā)環(huán)境
RISC-V ISA是怎樣進(jìn)行命名的
基于VSCode的嵌入式開(kāi)發(fā)的可視化代碼調(diào)試方法分享
如何在Ubuntu下實(shí)現(xiàn)可視化代碼跟蹤調(diào)試
RISC-V MCU開(kāi)發(fā)實(shí)戰(zhàn)(一) :DHT11
使用ripes進(jìn)行risc-v可視化仿真調(diào)試
衛(wèi)星載荷可視化仿真分析平臺(tái)設(shè)計(jì)方案

RISC-V的調(diào)試標(biāo)準(zhǔn)及跟蹤技術(shù)

評(píng)論