这个问题真的挺狗的,先说结论,因为你买的STLINK V2是国产的,而且用的也是国产的芯片,不是ST的STM32F103C8T6,所以STM32CubeProgrammer识别不到芯片的串号,都是奸商为了省钱导致的。
我是去年买的一个STLINK V2,连着板子调试用的,KEIL直接下载,调试,一直没有问题。有一天同事发了一个Hex文件给我,让我下载同步验证一下,然后我就用STM32CubeProgrammer,去下载这个HEX文件到单片机上,但是搞来搞去,就是连不上,串号只显示一个逗号,如下图:
我当时真的是一脸懵逼,然后就更新固件,
更新完还是连不上板子,然后问淘宝店的客服,客服说用 ST-LINK Utility才行,然后我试了一下,诶?果然有用,然后就一直用了这个ST-LINK Utility下载hex文件。
中间有一次因为在外面没带STLINK,还写了篇这个帖子:0.4-如何使用DAP LINK 下载Hex程序?
后来上面这个STLINK V2 无法用STM32CubeProgrammer下载程序的问题也被我忘了,上周我又买了一个STLINK 。我看到进口芯片其实挺诧异的,因为STLINK V2原图我看过,里面不就是一个STMf103C8T6的单片机吗?这不就是进口的吗?难道还有国产的STM32?
拿到手之后,用STM32CubeProgrammer,试了一下,诶我草!这个宣称进口芯片的居然可以用STM32CubeProgrammer 下载程序,这就激起了我强烈的好奇心了,我倒要看看你用了什么魔法进口芯片。我上次用不了的和刚买的STLINK都给拆了。
绿色板子是用不了STM32CubeProgrammer,我已经换好了MCU,旁边被打磨掉丝印的是他原来板子上的,不知道用的什么国产的单片机。
下面这个紫色板子,就是宣称用了进口芯片的,可以用STM32CubeProgrammer。
我将绿色板子单片机换完后。用https://download.csdn.net/download/s2m0204/10662933这个链接里面的HEX文件烧录到绿色板子里,然后就可以用STM32CubeProgrammer了,这真的打死我都不会想到原来是单片机的问题啊。
原因终于找到了,就是因为你的STLINK 没有用STM32F103C8T6这个单片机,所以才导致的这个问题无法用STM32CubeProgrammer下载程序。