昨天使用了这款F401 QFN 封装的单片机测试了 R2R 电阻DAC的性能。其中遇到了一个问题,那就是使用 ST-LINK 访问单片机遇到的麻烦。开始的时候,单片机的 BOOT0 直接连接到地线。始终无法使用 ST-LINK 进行编程。后来将 BOOT0 通过一个 10k欧姆电阻接地,问题解决了。不过蹊跷的是,将 10k欧姆的电阻替换成 0欧姆,后来也能够被 ST-LINK访问。那么问题来了,开始单片机无法被ST-LINK 访问究竟是咋回事呢? 下面再测量一下。
这是将BOOT0 通过 10k欧姆接地的版本,可以被 ST-LINK访问。后来,将 10k欧姆更换成 0 欧姆,还是可以被访问。下面,更换上一次电路版本。它的 BOOT0 是直接局部连接到芯片底部的 地线上。对于 F103单片机,这种连接方式是没有问题的。但是对于F401单片机, 却是无法使用 ST-LINK访问。怀疑是芯片焊接问题,下面重新使用热风枪再次加热该芯片,重新焊接之后,再进行测量,结果显示,还是无法使用 ST-LINK访问。下面准备将两个电路板中的单片机进行更换,看结果如何。
将两个电路板上的芯片进行调换。通过ST-LINK访问测试,发现,依然是 BOOT0 通过电阻接地的电路板可以被正确访问。而之前的电路板还是无法访问。这就说明了,电路的布线最终还是影响了单片机的调试。
为了验证这个问题,现在重新制作测试电路板,将之前 10k欧姆去掉,重新将 BOOT0 连接到地线。一分钟后得到测试电路板。电路板有点过腐蚀。焊接清洗之后,再进行测试。现在我的心情有点忐忑,不知道测试的结果j将会是如何。
将ST-LINK 通过探针夹子连接到电路板,现在能够被访问到。这足以说明,昨天晚上制作的电路板,有可能存在着某种神秘的BUG,具体我不知道,但限制了ST-LINK的访问。
本文对 F401单片机调试过程中遇到的问题进行了重新测试,发现,它的BOOT0 直接连接到地线,不会影响 ST-LINK 的调试。昨天之所以出现了开始的问题,实际上,是焊接问题造成的。至此,略微有点强迫症的我也算是将这个经验问题搞明白了。