尝试从Atollic TrueStudio 9.3编程和调试STM32F103(Bluepill),我得到以下消息:
STMicroelectronics ST-LINK GDB服务器。版本5.1.0版权(c) 2018年,意法半导体(STMicroelectronics)。保留所有权利。
使用以下选项启动服务器: 永久模式:禁用 记录级别:1 监听端口号:61234 状态刷新延迟:15秒 详细模式:禁用 SWD调试:已启用
供应商= 0x55
初始化ST-LINK设备时出错。原因:ST-LINK:无法 验证ST设备!中止连接。
尝试在St-Link实用程序中执行相同的操作没有任何问题(同时擦除和编程):
这可能是什么问题,为什么验证有问题?
Tnx提前提供帮助!
答案 0 :(得分:2)
问题在于BluePill上STM32F103的ID与定义的调试器配置文件的ID不同。为了降低价格,BluePill常常会在其上贴上伪造的IC,但这些ID与真正的IC具有不同的ID。
以下说明/视频适用于STM32CubeIDE,但它们也适用于TrueSTUDIO。
有关解决方法的视频:https://youtu.be/bJYp8o7FoYo
答案 1 :(得分:0)
这个解决方案也适用于像 CH32F103 这样的克隆芯片,在某些情况下它在 BluePill 上
另一种解决方案是更改“stm32f1x.cfg”中的参数 用文本编辑器打开它并找到这一行: swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
在行尾将“$_CPUTAPID”更改为零,它应该是这样的: swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0
之后:打开如上图所示的调试配置窗口,然后在调试探针下拉菜单中选择“Select ST-LINK(OpenOCD)” 然后点击“显示发电机选项...”并在模式设置中更改“重置模式”为“软件系统重置”。
两种方式都有效,我已经使用 CubeIDE 和 CH32f103c8t6 对其进行了测试。