今天新画的PCB板子到了,到了手中焊好电源部分测试,没有问题。
测试了下载程序,没有问题。时钟电路供电电路正常。
但是在程序运行的时候发现了问题,程序下载进去了却不运行。
这时候就要从原理图来找问题了,一般程序不运行,可能是芯片坏了,但是程序能下载进去,说明芯片是好的。
然后我又找了一下芯片启动方式。
我是用jtag的swd模式下载的,所以此时我的程序应该存储在主闪存存储器中,所以boot0应该为0.
我测量一下boot0的电压,发现竟然是3.3V.此时的boot1为0,所以单片机在系统存储器中运行。
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。
发现了这个问题后,我修改了电路,使boot0变为0。单片机工作正常了。