关于用STLINK无法给单片机下载程序的解决方案
今天用STLINK给STM32F103C6T6最小系统板下载程序时,先将STLINK与单片机连接起来,使用的是SW的方式,所以需要将两端的SWCLK、SWDIO、GND、VCC连接起来。连接完后发现通过这样的连接方式也能够给板子供上电,但是这个板子有USB的供电口,苦于没有USB线就打算先这样,反正板子也已经供上电了。但是当我打开KEIL下载程序时,发现在keil中的Debug的Setting中能够识别芯片内核,但就是一下载程序就显示Internal command error,当时就很懵逼,在网上查了不少资料,包括复位啊什么的,都试过都不太管用。最后查资料发现,在STLINK的接口处有两个VCC的口,一个是供电用的,另一个好像是检测板子的电源用的,具体是干嘛的我也不太清楚,但当我把这两根都接上后,程序就能成功的下进去了。
后期查了一下这相关的材料,发现在STLINK的一号接口VCC,这不是单纯的VCC接口,在STLINK的官方文件中明确指出该接口是Target VCC,这个口并不是用来给单片机供电的,而是用来检测单片机的IO口供电电压是多少的,是在SW协议里必须要用到的,因此如果你还想供电的话,这两根VCC都要接,补充一下,我说的这两根其中还有一根就是另一根叫VCC的那个管教。