MCU上电不启动的可能原因分析

控制/MCU

1878人已加入

描述

相信很多朋友们都遇到过,自信满满的将程序下载到板子上,发现MCU居然没启动。

那这个现象可能有很多问题会导致,让我们来看看会有哪些原因。

1、BOOT引脚电平不对:

在GD32 MCU上,BOOT引脚决定了MCU的启动方式,通常BOOT0引脚下拉时是flash启动,如果BOOT电平不对就不会执行我们下载的程序了。

晶振

2、NRST拉高了吗?

NRST是MCU的复位引脚,如果复位引脚没有拉高,程序也不会启动,复位引脚一般和电源以及连接电路有关,电源上升到POR 2ms后NRST一般会拉高,如果没有拉高那还要进一步检查电源和电路。

晶振

3、VDD和VDDA电压满足工作范围了吗?

平时大家一般关注VDD电压,但VDDA电压也很关键,我们需要确定VDD和VDDA都达到芯片的工作电压范围才能让芯片正常运行。

晶振

4、晶振和程序里的配置匹配吗?

如果mcu超频了,那么也会上电后跑飞导致不启动的现象,当我们晶振大小大于程序配置不一致时,就会出现我们以为主频正常,但芯片实际已经超频得离谱了。

晶振

5、固件和实际芯片型号或类型不匹配

以GD32F303为例,我们打开固件库会看到GD32F30x(读叉)固件库实际对应了GD32F303、F305、F307不同芯片类型,通过宏定义选择,他们在时钟上就存在一定区别,固件配置错的话程序可能就是在时钟配置里啦。

晶振

什么,如果还没找到问题,那就大胆的进入debug模式,千万不要对自己的程序太自信哦,真相甚至可能就是打错一个字母,关于软件debug的技巧,期待下次分享。

审核编辑:黄飞

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分