2235|2

71

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

RISC-V MCU开发 (七):代码调试 [复制链接]

MounRiver® Studio(MRS)配合GD-Link、WCH-Link、JLink等在线调试下载器,可支持GDVFx系列、CH56x、CH57x、CH58x、CH32Fx、CH32Vx等RISC-V/ARM内核MCU工程的代码调试功能。本文主要介绍MRS针对RISC-V内核MCU的代码调试操作。

 

【启动调试】以CH32V103C8T6的芯片工程为例来说,首先保证工程可以编译通过,然后点击菜单栏按钮,开始进入调试模式,正常进入调试模式会停在如图所示的位置,此位置有一个临时断点:

 

 

 

【更改默认断点位置】当然如果希望工程可以直接停在main函数起始地方,也可以去手动更改此断点的位置,点击调试图标旁的下拉按钮,选择”Debug Configurations”,在弹出的页面中选择Startup选项卡,将set breakpoint at 设置为 main即可。

 

 

配置完成后点击右下角 Debug,或者保存之后退出配置,点击菜单栏按钮,进入调试模式后就会停在刚才设置的位置

 

 

 

【查看机器码】进入调试之后,可以看到左下角Disassembly窗口,此窗口可以显示PC附近代码的汇编以及地址,也可以在左侧空白处鼠标右键,选择show opcodes,来显示机器码。

 

 

 

【机器码断点与跳转】双击反汇编窗口左侧空白处也可以设置断点,红框位置处可以填写16进制的地址,用来跳转到想要查看位置的汇编代码。主窗口用来显示代码运行位置,可以在左侧窗体位置处双击来增加或取消断点。

 

 

 

 

 

 

 

【软件断点】因为采用的是软件断点,理论上不限制断点个数,但是过多的断点会引起程序仿真变慢。

 

 

 

【变量查看】右侧Variables窗口会显示当前函数中变量的值。也可以在此窗口修改你想要改变的变量的值,但注意只是修改到Ram,重新上电后该值恢复为实际大小。

 

 

 

【添加监测变量】Experssions可以自定义添加监测的变量,也同样可以修改,效果和Variables窗口中的一致。

 

 

【错误中断】下方Registers窗口显示的是RISCV内核的CSR+GPR寄存器,可以用来观测内核状态,有几个寄存器在出现HARDFAULT 错误时可以帮助定位问题,在进入硬件错误中断处理函数时,mepc显示的是出错时的地址,mcause 显示的是原因,mtval 显示的是出错时cpu取到的值,mcause值含义如下图。

 

 

【断点窗口】Breakpoints窗口可以显示所有设置的断点位置,可以在此处使能或者删除段断点。

 

 

【内存窗口】Memory窗口可以用来查询不同地址的值,例如我们查询0x2000000,点击该窗口下绿色加号,在弹出的窗口输入要查询的地址。此处也可更改不同地址内的数据,要注意的是根据芯片手册看此地址是否可以读写。

 

 

 

 

 

【外设寄存器窗口】Peripherals窗口可以选择要观察的外设寄存器,一同展示的内容除外设寄存器名称外,还有地址以及描述信息。

 

 

 

 

此帖出自单片机论坛

最新回复

软件断点太多会导致运算量增加   详情 回复 发表于 2021-10-10 10:48
点赞 关注
 

回复
举报

1700

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

软件断点太多会导致运算量增加

此帖出自单片机论坛

点评

确实,现在MRS针对WCH家的部分型号的MCU,也支持硬件断点了  详情 回复 发表于 2021-10-11 10:59
 
 

回复

71

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
火辣西米秀 发表于 2021-10-10 10:48 软件断点太多会导致运算量增加

确实,现在MRS针对WCH家的部分型号的MCU,也支持硬件断点了

此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表