151|2

47

帖子

0

资源

一粒金砂(中级)

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

 

image-20211009110508-32.png  

 

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

 

image-20211009110508-33.png  

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

 

image-20211009110508-35.png  

 

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

image-20211009110508-36.png  

 

 

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

 

image-20211009110508-37.png  

 

 

 

 

 

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

 

image-20211009110508-38.png  

 

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

 

image-20211009110508-39.png  

 

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

image-20211009110508-40.png  

 

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

 

image-20211009110508-41.png  

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

 

image-20211009110508-42.png  

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

 

 

image-20211009110508-44.png  

 

 

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

image-20211009110508-45.png  

 

 

 

此帖出自单片机论坛

回复

1582

帖子

0

资源

纯净的硅(高级)

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

点评

确实,现在MRS针对WCH家的部分型号的MCU,也支持硬件断点了  详情 回复 发表于 6 天前

回复

47

帖子

0

资源

一粒金砂(中级)

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

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


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

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

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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