找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1981|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

RISC-V MCU開發(fā) (七):代碼調(diào)試

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
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):
【更改默認(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即可。
配置完成后點(diǎn)擊右下角 Debug,或者保存之后退出配置,點(diǎn)擊菜單欄 ,進(jìn)入調(diào)試模式后就會(huì)停在剛才設(shè)置的位置
【查看機(jī)器碼】進(jìn)入調(diào)試之后,可以看到左下角Disassembly窗口,此窗口可以顯示PC附近代碼的匯編以及地址,也可以在左側(cè)空白處鼠標(biāo)右鍵,選擇show opcodes,來顯示機(jī)器碼。
【機(jī)器碼斷點(diǎn)與跳轉(zhuǎn)】雙擊反匯編窗口左側(cè)空白處也可以設(shè)置斷點(diǎn),紅框位置處可以填寫16進(jìn)制的地址,用來跳轉(zhuǎn)到想要查看位置的匯編代碼。主窗口用來顯示代碼運(yùn)行位置,可以在左側(cè)窗體位置處雙擊來增加或取消斷點(diǎn)。
【軟件斷點(diǎn)】因?yàn)椴捎玫氖擒浖䲠帱c(diǎn),理論上不限制斷點(diǎn)個(gè)數(shù),但是過多的斷點(diǎn)會(huì)引起程序仿真變慢。
【變量查看】右側(cè)Variables窗口會(huì)顯示當(dāng)前函數(shù)中變量的值。也可以在此窗口修改你想要改變的變量的值,但注意只是修改到Ram,重新上電后該值恢復(fù)為實(shí)際大小。
【添加監(jiān)測(cè)變量】Experssions可以自定義添加監(jiān)測(cè)的變量,也同樣可以修改,效果和Variables窗口中的一致。
【錯(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值含義如下圖。
【斷點(diǎn)窗口】Breakpoints窗口可以顯示所有設(shè)置的斷點(diǎn)位置,可以在此處使能或者刪除段斷點(diǎn)。


【內(nèi)存窗口】Memory窗口可以用來查詢不同地址的值,例如我們查詢0x2000000,點(diǎn)擊該窗口下綠色加號(hào) ,在彈出的窗口輸入要查詢的地址。此處也可更改不同地址內(nèi)的數(shù)據(jù),要注意的是根據(jù)芯片手冊(cè)看此地址是否可以讀寫。
【外設(shè)寄存器窗口】Peripherals窗口可以選擇要觀察的外設(shè)寄存器,一同展示的內(nèi)容除外設(shè)寄存器名稱外,還有地址以及描述信息。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表