Atollic无法验证ST设备?

时间:2019-11-09 20:54:35

标签: stm32 stm32f1 truestudio

尝试从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实用程序中执行相同的操作没有任何问题(同时擦除和编程):

enter image description here

这可能是什么问题,为什么验证有问题?

Tnx提前提供帮助!

2 个答案:

答案 0 :(得分:2)

问题在于BluePill上STM32F103的ID与定义的调试器配置文件的ID不同。为了降低价格,BluePill常常会在其上贴上伪造的IC,但这些ID与真正的IC具有不同的ID。

以下说明/视频适用于STM32CubeIDE,但它们也适用于TrueSTUDIO。

有关解决方法的视频:https://youtu.be/bJYp8o7FoYo

  1. 打开“调试配置”窗口 Open the Debug Configuration Window

  2. 在“调试探针”下拉列表中选择ST-LINK(OpenOCD) Select ST-LINK(OpenOCD) in the Debug Probe Dropdown

  3. 在stm32f1x.cfg文件中搜索C:\ ST \ STM32CubeIDE_1.2.0 \ STM32CubeIDE,然后使用记事本打开它。

  4. 搜索此行 Search for this Line

  5. 现在将ID从0x1ba01477更改为0x2ba01477,如下所示 Now change the ID from 0x1ba01477 to 0x2ba01477 as shown here

  6. 保存文件,现在调试应该可以

答案 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 对其进行了测试。