MounRiver®Studio(MRS)配合GD-Link、WCH-Link、JLink等在線調試下載器,可支持GDVFx系列、CH56x、CH57x、CH58x、CH32Fx、CH32Vx等RISC-V/ARM內核MCU工程的代碼調試功能。本文主要介紹MRS針對RISC-V內核MCU的代碼調試操作。 【啟動調試】以CH32V103C8T6的芯片工程為例來說,首先保證工程可以編譯通過,然后點擊菜單欄按鈕,開始進入調試模式,正常進入調試模式會停在如圖所示的位置,此位置有一個臨時斷點:
1.png (12.63 KB, 下載次數: 95)
下載附件
2021-10-9 15:28 上傳
【更改默認斷點位置】當然如果希望工程可以直接停在main函數起始地方,也可以去手動更改此斷點的位置,點擊調試圖標旁的下拉按鈕,選擇”Debug Configurations”,在彈出的頁面中選擇Startup選項卡,將set breakpoint at 設置為 main即可。
2.png (43.44 KB, 下載次數: 73)
下載附件
2021-10-9 15:28 上傳
配置完成后點擊右下角 Debug,或者保存之后退出配置,點擊菜單欄 ,進入調試模式后就會停在剛才設置的位置
3.png (18.49 KB, 下載次數: 60)
下載附件
2021-10-9 15:28 上傳
【查看機器碼】進入調試之后,可以看到左下角Disassembly窗口,此窗口可以顯示PC附近代碼的匯編以及地址,也可以在左側空白處鼠標右鍵,選擇show opcodes,來顯示機器碼。
4.png (9.76 KB, 下載次數: 65)
下載附件
2021-10-9 15:28 上傳
【機器碼斷點與跳轉】雙擊反匯編窗口左側空白處也可以設置斷點,紅框位置處可以填寫16進制的地址,用來跳轉到想要查看位置的匯編代碼。主窗口用來顯示代碼運行位置,可以在左側窗體位置處雙擊來增加或取消斷點。
5.png (42.39 KB, 下載次數: 60)
下載附件
2021-10-9 15:28 上傳
【軟件斷點】因為采用的是軟件斷點,理論上不限制斷點個數,但是過多的斷點會引起程序仿真變慢。
6.png (10.19 KB, 下載次數: 66)
下載附件
2021-10-9 15:28 上傳
【變量查看】右側Variables窗口會顯示當前函數中變量的值。也可以在此窗口修改你想要改變的變量的值,但注意只是修改到Ram,重新上電后該值恢復為實際大小。
7.png (56.28 KB, 下載次數: 62)
下載附件
2021-10-9 15:28 上傳
【添加監測變量】Experssions可以自定義添加監測的變量,也同樣可以修改,效果和Variables窗口中的一致。
8.png (11.22 KB, 下載次數: 55)
下載附件
2021-10-9 15:28 上傳
【錯誤中斷】下方Registers窗口顯示的是RISCV內核的CSR+GPR寄存器,可以用來觀測內核狀態,有幾個寄存器在出現HARDFAULT 錯誤時可以幫助定位問題,在進入硬件錯誤中斷處理函數時,mepc顯示的是出錯時的地址,mcause 顯示的是原因,mtval 顯示的是出錯時cpu取到的值,mcause值含義如下圖。
9.png (73.2 KB, 下載次數: 98)
下載附件
2021-10-9 15:28 上傳
【斷點窗口】Breakpoints窗口可以顯示所有設置的斷點位置,可以在此處使能或者刪除段斷點。
10.png (9.8 KB, 下載次數: 62)
下載附件
2021-10-9 15:28 上傳
【內存窗口】Memory窗口可以用來查詢不同地址的值,例如我們查詢0x2000000,點擊該窗口下綠色加號 ,在彈出的窗口輸入要查詢的地址。此處也可更改不同地址內的數據,要注意的是根據芯片手冊看此地址是否可以讀寫。
11.png (27.16 KB, 下載次數: 63)
下載附件
2021-10-9 15:28 上傳
【外設寄存器窗口】Peripherals窗口可以選擇要觀察的外設寄存器,一同展示的內容除外設寄存器名稱外,還有地址以及描述信息。
12.png (24.49 KB, 下載次數: 74)
下載附件
2021-10-9 15:28 上傳
|