相信很多朋友们都遇到过,自信满满的将程序下载到板子上,发现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的技巧,期待下次分享。
好了,今天的内容就这些,如果还没有学废,那就评论区聊聊吧~记得点赞收藏加关注
-
单片机
+关注
关注
6074文章
45340浏览量
663444 -
mcu
+关注
关注
147文章
18604浏览量
386875 -
上电
+关注
关注
0文章
16浏览量
11150 -
GD32
+关注
关注
7文章
429浏览量
26934
发布评论请先 登录
在MCU未损坏的前提下,当编程新的Config设置值时,为什么MCU上电后总是会复位呢?
MCU片上Flash
请问HMC8413的上电启动时间大概为多少?
STM32的上电启动过程分享
DLPA3000不启动是什么原因?
ads1240上电后无/DRDY输出信号是什么原因造成的?
ads8568采集基本正常,但可能在某一次上电后,出现不工作的状态,为什么?
请问不按照手册中的上电顺序ADS1274能正常工作吗?
EE-164:采用ADSP-219x DSP的高级EPROM启动和不启动场景

MCU为什么上电不启动
评论