搜索

GD32F130 进入sw调试即全速运行

[复制链接]
2709|8
SUITANG88|  楼主 | 2021-6-6 21:49 | 显示全部楼层 |阅读模式
用ST-LINK,J-LINK调试GD32F130,只要一进入调试,程序即全速运行,暂停程序后,可单步执行。如此一来,就无法单步执行主循环前的语句。请问怎么才能从第一个语句开始单步执行呢?

使用特权

评论回复
SUITANG88|  楼主 | 2021-6-8 09:23 | 显示全部楼层
这里没有GD32的技术支持么?
找GD32的技术支持真是难啊!

使用特权

评论回复
sonicll| | 2021-6-8 09:32 | 显示全部楼层
用的是Keil吗,你可以先把Debug那个页面里的“run to main()”取消勾选,然后再进Debug,这时候应该可以单步调试,看看main函数之前的代码运行是否正常

使用特权

评论回复
SUITANG88|  楼主 | 2021-6-8 09:48 | 显示全部楼层
本帖最后由 SUITANG88 于 2021-6-8 09:50 编辑
sonicll 发表于 2021-6-8 09:32
用的是Keil吗,你可以先把Debug那个页面里的“run to main()”取消勾选,然后再进Debug,这时候应该可以单 ...

谢谢您的回复。
用的是keil_v5 mdk.
“run to main()"取消勾选进入调试后,不会再全速运行了。但程序却停在main()主循环中(主循环只有一条语句)。代码优化级别是level0。
同样的环境,调试stm32一切正常。

使用特权

评论回复
sonicll| | 2021-6-8 10:10 | 显示全部楼层
SUITANG88 发表于 2021-6-8 09:48
谢谢您的回复。
用的是keil_v5 mdk.
“run to main()"取消勾选进入调试后,不会再全速运行了。但程序却停 ...

进Debug以后,点一下Keil菜单里的reset,看看程序是停在启动文件的Reset_Handler里吗,看看这时候内核寄存器的PC值是0x0800xxxx的地址吗

使用特权

评论回复
SUITANG88|  楼主 | 2021-6-8 10:18 | 显示全部楼层
点reset无任何反应,无法复位。程序还是停留在原处。

使用特权

评论回复
sonicll| | 2021-6-8 10:29 | 显示全部楼层
SUITANG88 发表于 2021-6-8 10:18
点reset无任何反应,无法复位。程序还是停留在原处。

感觉像硬件电路的问题,检查一下晶振,NRST复位脚,BOOT0脚,供电。或者换个芯片、电路板试试

使用特权

评论回复
SUITANG88|  楼主 | 2021-6-8 10:44 | 显示全部楼层
好的,我试一下。谢谢您的耐心解答。

使用特权

评论回复
单片小菜| | 2021-6-8 16:12 | 显示全部楼层
GD的芯片是很好用的,二楼确实正解。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 kk的回忆 得到打赏 ¥600.00
  • 2 名字还没想好 得到打赏 ¥350.00
  • 3 天意无罪 得到打赏 ¥312.00
  • 4 wolfe_yu 得到打赏 ¥210.00
  • 5 呐咯密密 得到打赏 ¥170.00
  • 6 gaoyang9992006 得到打赏 ¥120.00
  • 7 CZF11 得到打赏 ¥100.00
  • 8 年轻的国王 得到打赏 ¥90.00
  • 9 hunteredward 得到打赏 ¥90.00
  • 10 blust5 得到打赏 ¥85.00
在线客服 快速回复 返回顶部 返回列表