GD32MCU连接问题和调试方法总结
一、前言
使用GD32MCU过程中大家常常有因为错误的应用导致无法连接MCU,还有只知道IDE
硬件仿真调试MCU。本文GD32F303为例子,笔者总结下工作中所遇到连接问题和一些调
试方法,抛砖引玉引导大家自行检查和学习,愉快的畅玩GD32MCU
二、调试方法
① 首先为大家介绍jlink的调试利器“Jlinkcmd”,它可以方便用户在非仿真的情况下,hold
内核、单步、全速、设置断点、查看内核和外设寄存器、读取flash代码等等,方便大
家拥有最高的权限查看在运行中的MCU情况,查找非IDE仿真情况下,MCU运行异常
的原因。
1. 如何打开Jlinkcmd:
在jlink安装版本目录下可以打开,无安装版本可以在MDK的安装目录的“Segger”文件
下打开cmd。具体可如下图所示。
图1jlink安装版本目录图
2.MDK的安装目录
2. 如何使用Jlinkcmd:
首先使用Jlink连接好MCU,打开软件“Jlink.exe”
图3
按照提示输入相应信息connect-->?-->s-->回车(旧版只需要输入usb即可连接目标芯
片)
图4
正确的链接目标芯片后:
图5(如上图所示,选项字节里为“A55A”即为无保护状态)
Jlinkcommand常用命令简介:
mem 读内存
mem8 读8字节内存
mem16 读16字节内存
mem32 读32字节内存
w1 写8字节内存
w2 写16字节内存
w4 写32字节内存
h 停止cpu运行的程序
setbp 设置断点
g 跳到代码段地址执行
s 单步执行(调试用)
r 复位
② 接下来向大家介绍一款用户程序里无需软件配置可以抓取对应的全局变量数据,并绘制
波形的软件——“J-Scope”
1. 首先前往segger 官网下载对应的软件安装包:
https://www.segger.com/downloads/jlink/#JScope
图6
2. 打开正确安装的软件,选择创建一个新的工程,选择对应的调试接口和速度,在ELF
文本框内添加,KEIL工程下生成的.axf文件或者IAR工程下生成的.out文件。在下
个界面勾选添加想要查看的全局变量(数组可以先输入对应的序号)。最后点击红
色开始按钮,选择对应的芯片型号或者内核,既可以绘制对应变量的波形。
图7
图8
图9
图10
图11
三、连接烧录问题总结
1.在MDK内使用jlink调试器无法识别设备ID
图12
原因及解决办法:
1. 检查jlink是否正确连接目标芯片,芯片引脚PA13PA14是否连接正确、虚焊,PA13
和PA14是否有接反现象。
2. 可能为mcu设置了高级读保护状态。仿真口已经熔断,MCU内部程序依然正常运行。
3. 若连接的是GD32E23x系列,需要保证jlink硬件版本v9及以上,软件版本v6.0以上版
本。如果硬件版本过低请换v9jlink,若软件版本过低,需要将图1安装版本内的对应
的文件覆盖图2MDKSegger文件夹内的文件。重新打开MDK既可以出现新版的驱动。
4. 若以上判定均不是,可以先使用前文所述,使用jlinkcmd连接目标芯片,查看是否连
接成功,若连接成功表示芯片是OK的,如图13所示需要将MDK工程目录下的jlink
配置删除掉,从新打开软件或者从新在此配置的左下脚点击扫描device设备。如图10
所示在跳出的unknown设备提示框下,点击“ok”后选好对应的mcu型号或者对应的内
核。若连接也不成功可查看1和2。
图13
5. 程序里有配置rempJTAG和SWD接口,无法识别id使用SWD或者JTAG下载。
可将BOOT0拉高后复位,即可以识别id下载。(支持大部分系列)
使用外部晶振,可将晶振短接后下载。
将BOOT0拉高复位,使用isp擦除后下载。
2.仿真器配置里可以识别id,但是下载却报错。无法实现下载。
图14
原因及解决办法:
1. 首先确保FlashDownload里面的Flash算法是有正确的添加,有时候在转换工程或选
择另外MCU型号会导致Flash算法里面的DeviceSize和AddressRange对应的大
小不匹配,需要删除后重新添加。
图15
2. 芯片具有读保护或者写保护。可以使用调试方法①来看当前选项字节的信息状况
mem 0x1ffff800 10 (F4xx系列为mem 0x1fffc001 10)
正常无读保护状态的值为A55A 无写保护的状态为FF(如图5所示)
若有保护可以使用ISPgdlink上位机jlink对MCU进行解锁,正常解锁后既可以下载。
3. MCU因为晶振配置跑飞(特别E103历程里面有8M 和25M 晶振的开发板),无法正
常下载。
可将BOOT0拉高后复位下载。(支持大部分系列)
使用外部晶振,可将晶振短接后下载。
将BOOT0拉高复位,使用isp擦除后下载。
4. MCU处在上电即进入低功耗模式,无法正常下载。解决方法可如上。
3.能正常下载,但是调试有问题:地址非正确引导到flash的起始地址或者卡在main
之前的地址。
原因及解决办法:
1. 注意debug配置里为硬件仿真,不然会卡在时钟初始化里面。
图16
2. 检查boot0是否接地,不然pc指针跳转的地址不正确。
3. 在IAP应用中,检查对应的下载地址。
4.仿真正常,但是下载后运行不正常。
1. 检查boot0连接方式,在IAR仿真环境下会自动跳转到下载程序的main函数。
下载后就需要保证BOOT0接地。
stm32关于内部时钟:当低速外部晶振坏了,可以用成内部时钟LSI
当低速外部晶振坏了,可以用成内部时钟LSI,
用镊子将外部时钟晶振短接,RTC时间将不会走
但内部时钟可以走
关于纽扣电池没电的
if (BKP_ReadBackupRegister(BKP_DR1) != 0x5051) 修改0x5051的值成0x5052等都可以
//从指定的后备寄存器中读出数据:读出了与写入的指定数据不相乎
本主题由 1208 于 2018-10-1 16:31 移动
44.JPG (210.59 KB, 下载次数: 1)
相关问答
主板短接晶振和开关能启动,什么问题呢?
1.可能是主板短接晶振和开关导致的问题。2.主板短接晶振和开关可能会导致电路无法正常工作。短接晶振会导致主板无法产生稳定的时钟信号,从而影响整个系统的...
按键复位电路原理-ZOL问答
复位按钮按下,电容C1被短接放电,C1两端电压下降,电压下降至低电平,复位信号有效,电路复位。晶振是石英振荡器的简称,英文名为Crystal,晶振分为有源晶振和无源...
sipos电动门常见故障是如何维修的?_住范儿家装官网
红灯亮、三项电不缺项,属断项保护器质量问题;处理方法:将断项保护器的常闭接点短接,恢复正常操作。2.现象:以五期灰浆泵出口门为例,运行值班员联系...
定压功放故障常见维修方法是啥?_住范儿家装官网
电源部分故障一般出在变压器和整流电路中,有变压器短路,保险丝断路,整流管击穿等;故障现象为无声或有大交流声,其中危害最大的是变压器短路,这会使...
am3主板无电输出检测流程?
先换个电源,电源正常时只要一插上电紫色的线就有5V,然后短接绿线和黑线电源风扇会转,可以自己检测下电源是否正常。电源正常的情况下插主板上,有主板诊断卡...
台式电脑怎么同时点亮两个电源?-ZOL问答
无源晶振和开机回路扯不上关系啊除非主板上的EC有问题,导致内部的开机信号和时钟短接E32k就是32.768kHz有用(0)回复12v是碟片电机转动使用的电压,5v是驱动...
如何知道车库遥控器频率是多少?
一般都是两个频率315MHZ和433MHZ,看接收天线和发射天线的圈数。外观上,315mhz的是12圈左右。如果是天线是一根线,那就要打开摇控或者接收器,那个椭圆形不锈...
ATX电脑电源保险换了就烧怎么维修?-汇财吧专业问答
[回答]电脑电源用的是开关电源,里面有玻璃保险管,也有很多保护电路防止电脑损坏ATX电源的保护电路推荐电源作为电脑的心脏,其品质不可小视,而电路中的保护...
定压功放故障常见维修方法是啥?_土巴兔装修问答
电源部分故障一般出在变压器和整流电路中,有变压器短路,保险丝断路,整流管击穿等;故障现象为无声或有大交流声,其中危害最大的是变压器短路,这会使...
电脑开机时主机里面当当当的响三声,然后开不了机?
3...拔插CPU后能启动,说明是CPU接触不良。拔插CPU后不能启动,CPU有损坏的可能,所以换CPU,换CPU还是不行,剩下的只有主板了。3.主板检查首选应是CPU插座供...