问题描述:
用STM32F103做测试 ST-link插上板子,烧录一个程序后,再次烧写就报错
ST-link 为SW模式

之后ST-link就罢工了,monitor,programmer都连接不上
反正ST-link就是查无此人
最后枚举尝试,怀疑IAR,ST-LINK,芯片,还是我程序的问题,一一排除
最后发现,ioc生成工程的问题,也就是ioc有问题,经过ioc文件的对比阅读,发现我的MX 的sys 下设置的是NO-DEBUG


改成:

就可以了
F407就没有这个问题。。。
为了安全起见,所有工程,这个都设置一下 按照标准的去做,严谨
NO-Debug 继续烧写的方法
在no debug模式下,烧录一次后的烧写方法:
1,要么通过串口烧写,
2,要么BOOT0置1 然后reset 单片机ST-link烧写
推测:
在no debug模式下,将某个寄存器置位了,导致禁止和ST-link通讯
解决办法
用上面两个办法烧写一个没有禁止debug的,后期就可以正常烧写了,然后后面的程序置成可以debug的模式
文章详细记录了一次使用STM32F103进行程序烧录时遇到的问题,即在使用ST-link进行第二次烧录时出现错误。作者通过逐一排查IAR、ST-LINK、芯片及程序,最终发现是ioc生成工程设置为NO-DEBUG导致的。文中提供了两种解决方案,并推测可能是在NO-DEBUG模式下某个寄存器被置位,禁止了与ST-link的通讯。
1096





