今天新画的PCB板子到了,到了手中焊好电源部分测试,没有问题。

测试了下载程序,没有问题。时钟电路供电电路正常。

但是在程序运行的时候发现了问题,程序下载进去了却不运行。

这时候就要从原理图来找问题了,一般程序不运行,可能是芯片坏了,但是程序能下载进去,说明芯片是好的。

然后我又找了一下芯片启动方式。

调试日志——基于stm32的智能声光报警器(一)-LMLPHP

我是用jtag的swd模式下载的,所以此时我的程序应该存储在主闪存存储器中,所以boot0应该为0.

我测量一下boot0的电压,发现竟然是3.3V.此时的boot1为0,所以单片机在系统存储器中运行。

BOOT1=x  BOOT0=0  从用户闪存启动,这是正常的工作模式。
BOOT1=0  BOOT0=1  从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1  BOOT0=1  从内置SRAM启动,这种模式可以用于调试。

发现了这个问题后,我修改了电路,使boot0变为0。单片机工作正常了。

05-11 11:10