网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

GD32 MCU超频后无法再次下载程序的解决办法

时间:2024-01-12 09:43

人气:

作者:admin

标签:

导读:我们知道,MCU的系统时钟主频就相当于人的心跳或脉搏,为所有的工作单元提供时间基数,所以一般在程序最开始的地方都需要进行主频配置。...

我们知道,MCU的系统时钟主频就相当于人的心跳或脉搏,为所有的工作单元提供时间基数,所以一般在程序最开始的地方都需要进行主频配置。

GD32固件库中提供了多种宏定义,可以很方便的将系统时钟配置为想要的频率。

wKgaomWgmOmAb-nUAACgDdUb54E230.png

GD32固件库中所用的外部晶振配置一般为8M或25M,如果想要使用其他频率的晶振,可以参考FAQ《更改晶振后如何修改配置》。

有的小伙伴在做好PCB后,将程序下载进去发现运行异常,想要仿真查下原因时,发现下载不了程序了,这时候就要注意,是不是板子上的晶振和程序中配置的不匹配?比如程序中使用的晶振大小为8M,但板子上的是12M的晶振,结果你以为配置的是120M的主频,实际变成了180M了,这超频可太多了,当然就无法再下载程序啦。

wKgZomWgmO2AeswxAAAW79DlWog060.png

wKgaomWgmPOAV5KWAAASwSESgRw977.png

那如何解决这个问题呢?有个方法就是让MCU进入ISP模式,小伙伴们可以参考FAQ《GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?》中的“方法一”,和超频无法下载类似。

我们今天讲述另一种方法,那就是启动MCU的时候,用镊子把外部晶振的OSC_IN和OSC_OUT脚短接起来,然后把程序擦除即可。没错,就是这么简单粗暴。

wKgZomWgmPiAf4TXAA1RZXu-B5E098.png

原理其实也很简单,使用GD32 固件库时,一般在进入main函数之前都会进行系统时钟配置,配置函数中在开启外部晶振后会有等待晶振稳定的过程,如果在一定时间内无法稳定,则会进入while(1)循环(小伙伴们可以自行增加超时退出的操作哦),在这个过程中,MCU实际是使用内部高速晶振在跑的,没超频,当然就可以擦除程序啦,用镊子短接晶振,就是为了让晶振状态无法稳定,是不是很简单呢?

wKgZomWgmPyAKPuYAABWIwqRMnw623.png

利用类似原理,其实还有其他操作也可以解决,小伙伴们有想到吗?没错,就是把晶振从板子上拆下来,等程序被擦除后,再焊接回去。

其实这个方法也适用于进入低功耗后无法下载的问题,当然前提是用的外部晶振。

好了,今天的内容就这些,如果还没有学废,那就评论区聊聊吧~记得点赞收藏加关注

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信