Macos CS32F103C8T6蓝色药丸克隆-无法从AC6 SystemWorkbench闪存

Macos CS32F103C8T6蓝色药丸克隆-无法从AC6 SystemWorkbench闪存,macos,stm32,bluepill,Macos,Stm32,Bluepill,我正在尝试使用AC6 SystemWorkBench和ST-LINK v2设备,使用CS32F103C8T6芯片闪存蓝色pill克隆。这是一个由STM32CubeMX构建的项目——我正在使用MacOS Mojave机器。这是尝试闪存设备时的输出 Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter s

我正在尝试使用AC6 SystemWorkBench和ST-LINK v2设备,使用CS32F103C8T6芯片闪存蓝色pill克隆。这是一个由STM32CubeMX构建的项目——我正在使用MacOS Mojave机器。这是尝试闪存设备时的输出

Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 8000 kHz
adapter_nsrst_delay: 100
Info : clock speed 8000 kHz
Info : STLINK v2 JTAG v31 API v2 SWIM v7 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.162004
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Stlink adapter speed set to 4000 kHz
Warn : UNEXPECTED idcode: 0x2ba01477
Error: expected 1 of 1: 0x1ba01477
in procedure 'program' 
in procedure 'init' called at file "embedded:startup.tcl", line 495
in procedure 'ocd_bouncer'
** OpenOCD init failed **
shutdown command invoked
我在谷歌上搜索到了一些类似的帖子,但没有找到解决问题的方法

有人有主意吗

mvh
在OpenOCD配置文件中,您需要添加:

set CPUTAPID 0x2ba01477
我从未使用过AC6 SystemWorkbench,现在也不知道如何在其中配置主板和调试适配器。所以我真的不知道在哪里可以找到配置文件


OpenOCD附带了一个完整的线路板配置目录,通常位于OpenOCD/scripts/board目录中。它包含一个名为
stm32f103c8_blue_pill.cfg
的脚本,该脚本可能会在您的案例中使用。从那里开始…

设置CPUTAPID 0x2ba01477;将适用于克隆,但不适用于真正的STM32

改为使用:设置CPUTAPID 0

零告诉OpenOCD忽略id号,因此任何MCU都将工作


信息来源:

C:\Ac6\SystemWorkbench\plugins\fr.Ac6.mcu.debug\u 2.5.0.201904120827\resources\openocd\st\u scripts\target\stm32f1x.cfg

在第一个if语句之前添加此行

将CPUTAPID设置为0


它解决了所有openocd stlink id错误

您是否尝试过使用串行闪烁?使用STM32CubeIDE,我经常遇到类似问题。您可以尝试使用stlinkgdbserver而不是OpenOCD(如果在这个IDE上有可能的话)。要找到这个文件有点困难,但找到后这个问题就解决了。我在以下位置找到了该文件:`/Applications/Ac6/SystemWorkbench.app/Contents/Eclipse/plugins/fr.Ac6.mcu.debug_2.5.0.201904120827/resources/openocd/st_scripts/target/stm32f1x.cfg```