如何通过Jlink查看GD32芯片跑飞后程序死在哪里?

相信小伙伴们都会遇到这样的场景:芯片程序跑着跑着就异常了,这个时候又不能仿真,因为一旦仿真程序就会重新download,异常现象就消失了。现在就来教大家如何使用Jlink仿真器去查看GD32芯片跑飞后程序死在哪里。

首先,我们需要将目标板和Jlink进行连接,只需要接三根线:SWDIO(PA13)、SWCLK(PA14)和GND,切记,一定不能接NRST脚,否则连接的时候就可能把芯片复位了,当然,也一定要保证连接过程中芯片不要断

然后在Jlink驱动安装目录中找到Jlink.exe,双击打开:

wKgZomWzDyGAIbNHAACo7X793CI604.png

打开后是这个界面:

wKgZomWzDyaAUr9EAAAotmr2haM333.png

键盘输入:usb,点击回车:

wKgaomWzDyuAU3F1AAAz_zbt1_A023.png

提示连接到Jlink,然后输入:s,并回车

wKgZomWzDzCALjWNAABmpQei-AU947.png

这里会有一个默认芯片型号,如果和目标板上的型号不一致可以输入:?,并回车,如果一致则直接回车。

因为小编用的是GD32F303ZGT6,所以输入了“?”,将会弹出选择芯片的列表,找到目标芯片并双击:

wKgZomWzDzWAAz0-AAA1tJM4F1Q505.png

回到Jlink.exe界面:

wKgaomWzDzqAGGPOAABEASNVLrw268.png

因为我们是用SWD接口,所以输入:s,并回车:

wKgZomWzDz-AJ9HuAABDKkFHppM278.png

这里会让你选择Jlink的通信速度,默认是4000KHz,如果你的目标板和Jlink之间的线比较长的话,可以适当降低速度,比如需要1000KHz,则键盘输入:1000,并回车,将会出现下面这个界面:

wKgaomWzD0SASwhCAABRnLMvkFc601.png

我们看到红色框线内已经提示找到芯片ID了,这时候在输入:h,并回车,将看到以下界面:

wKgaomWzD0iARFpNAABbJQo4bJU613.png

红色方框内的PC值就代表了程序当前执行的位置,我们可以通过查看程序工程中的map文件,就可以找到程序正在运行哪个函数了,如小编这里的PC值是0x08000AAA,map文件中符合这个地址的是delay_1ms函数。

wKgaomWzD36ABdqrAABQBxd2Qgs781.png

是不是特别简单?

以后小编还会教大家如何通过Jlink.exe来进行芯片的调试,敬请期待哦。

电。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值