0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

聚沃科技 2024-01-12 09:43 次阅读

我们知道,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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620834
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343620
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288438
  • 硬件开发
    +关注

    关注

    3

    文章

    124

    浏览量

    23799
收藏 人收藏

    评论

    相关推荐

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 393次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失败的原因

    你了解GD32 MCU上下电要求吗

    你了解GD32 MCU的上下电要求吗?MCU的上下电对于系统的稳定运行非常重要。
    的头像 发表于 02-02 09:36 342次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>上下电要求吗

    GD32 MCU是如何进入中断函数的

    用过GD32 MCU的小伙伴们都知道,程序是顺序执行的,但当有中断来的时候程序会跳转到中断函数,执行完中断函数后程序又继续回到原来的位置继续
    的头像 发表于 01-30 09:45 303次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>是如何进入中断函数的

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCUGD3
    的头像 发表于 01-27 09:32 343次阅读
    不同型号的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何区分?

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 471次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的选项字节是什么?

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32
    的头像 发表于 01-13 09:38 1530次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的命名规则吗

    GD32 MCU超频无法再次下载程序解决办法#单片机 #嵌入式 #单片机开发

    单片机mcu嵌入式
    聚沃科技
    发布于 :2024年01月12日 09:50:19

    GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?

    很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU
    的头像 发表于 01-12 09:41 2300次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>进入低功耗模式导致<b class='flag-5'>无法</b>再进行<b class='flag-5'>程序</b><b class='flag-5'>下载</b>怎么办?

    GD32单片机STM32远程下载手机程序升级固件下载局域网网页升级工具

    GD32、STM32单片机,是我们最常见的一种MCU。通常我们在使用STM32单片机都会遇到程序在线升级下载的问题。 GD32/STM32单
    发表于 11-10 15:03

    J-Link连接MCU失败解决办法

    J-Link连接MCU失败解决办法
    的头像 发表于 10-18 17:43 653次阅读
    J-Link连接<b class='flag-5'>MCU</b>失败<b class='flag-5'>解决办法</b>

    GD32可以直接用DAP下载程序吗?

    能不能直接用DAP给GD32下载固件
    发表于 10-12 07:25

    GD32MCU一般是用什么仿真器来调试程序的?

    GD32MCU一般是用什么仿真器来调试程序
    发表于 10-09 06:53

    gd32和stm32程序可以互用吗?

    gd32和stm32程序可以互用吗? GD32和STM32是两种不同的芯片系列,相同点是都属于ARM Cortex-M系列芯片。虽然它们有相似的架构和指令集,但是由于它们来自不同的厂商,所以它们之间
    的头像 发表于 08-16 11:32 2958次阅读

    推出采用GD32 RISC-V的MCU

    推出采用GD32 RISC-V的MCU ppt分享
    发表于 07-14 17:15 0次下载

    GD32 MCU原理及固件库开发指南》+读后感

    、调试工具,再到库函数的使用、各个外设的程序实现,不仅有原理的介绍,还有实践的历程。这本书聚焦在GD32 MCU基本原理和固件库上,重点在于对固件库API的介绍,供了大量实例代码,这些代码都可以直接编译
    发表于 06-06 21:52