STlink无法下载程序,百度了很多,发现是模拟地和数字问题。但是我还是不懂

2019-07-21 01:58发布

现状:最近画了一块板子,PCB打样好了,板子也焊完了,结果总是不能通过STlink下载程序,但是偶尔也可以。即使程序偶尔可以运行,依据是板子成功下载进去的程序是led间隔1s闪烁,灯是闪的,状态很奇怪。我画过两个板子了,焊过将近四个板子,都是同一个问题。关键问题是!!!!!!!它时好时坏。一开始下载进去了,我以为终于好使了。之后上课去了,程序一直运行。回来之后,灯不闪了,程序也下载不进去了,研究一会后又好了


问题:下载报错图为
QQ截图20190402210741.jpg


原理图:
QQ截图20190402205111.jpg

我的VBAT没有接,Vdda直接和Vdd连接。

BOOT选择:两个都接地了



尝试方法:按rest,各种尝试都不行。相同程序换成品stm32f103最小系统,没有任何问题。
百度时有两个情形几乎一摸一样。解决方法都是:模拟部分的电源Vdda和Vssa没有接!,或者其他类似的模拟地


Tip:1:一种它的原理图是
QQ截图20190402211558.jpg

作者原话是:谢谢各位高手赐教,问题解决了,把电源电路中的模拟部分(Vdda和Vssa)加上以后就正常了!。我看他原理图Vdda和Vssa都接地了啊,哪儿出问题了吗

Tips2:另一种是作者原话是:(我跟他情形一模一样)最近画了一块板子,PCB打样好了,准备先焊接MCU最小系统部分测试一下,结果总是不能通过STlink下载程序,但是偶尔也可以,但是在线调试的时候总会断开连接,即使程序偶尔可以运行,但是总是频繁复位;又焊接了一块板子,结果这块板子程序一次都下载成功不了,百思不得其解。通过检查发现,我使用的一个高精度的3.3V芯片用于给VDDA供电,而这个芯片并没有焊接,导致VDDA脚悬空,根据芯片手册介绍:
“VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC 时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS” 。
原因就是复位模块和RC振荡器并没有正确工作,导致上述异常。


百度还有说:SDIO和SCLK管脚不要线使用过长,否则无法检测到


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。