错误分析:
当使用Clion进行ST-link烧录程序时,OpenOCD会先进行初始化ST-link,在尝试获取chain上芯片的idcosde的时候,发现与OpenOCD target config文件中的idcode不匹配,此时可能是.cfg文件信息过时/有误,或者芯片有问题。
解决办法:
修改.cfg文件中的配置行,文件位于...\OpenOCD\share\openocd\scripts\target\stm32f1x.cfg,找到以下内容:
#jtag scan chain
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
if { [using_jtag] } {
# See STM Document RM0008 Section 26.6.3
set _CPUTAPID 0x3ba00477
} {
# this is the SW-DP tap id not the jtag tap id
set _CPUTAPID 0x1ba01477
}
}
将其中的 set _CPUTAPID 0x1ba01477 更改为 set _CPUTAPID 0x2ba01477 ,保存即可!