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