You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu更新后OpenOCD烧录STM32F103报需用-dap替代-chain-position错误

报错原因
  • Ubuntu系统更新时将OpenOCD升级到了0.11.0-rc2版本,该版本对Cortex-M架构目标的配置语法做了不向下兼容的调整:旧版用于指定调试链位置的-chain-position参数被废弃,要求使用-dap参数绑定预定义的调试访问端口(DAP)实例。
  • 你当前使用的stm32f1x.cfg是适配旧版OpenOCD的配置文件,第74行仍然使用-chain-position语法,和新版OpenOCD的要求冲突,直接触发报错。
  • 额外出现的警告是因为interface/stlink-v2-1.cfg在新版OpenOCD中也已被废弃,后续可统一改用interface/stlink.cfg适配全系列STLink调试器。
解决方案

提供两种可选修复方式,按需选择即可:

方案1:修改现有stm32f1x.cfg配置

仅需调整1行配置即可兼容新版OpenOCD:
找到stm32f1x.cfg的第74行,将原配置:

target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_TARGETNAME

替换为:

target create $_TARGETNAME cortex_m -endian $_ENDIAN -dap $_TARGETNAME

修改后保存即可正常执行烧录操作。

方案2:使用新版OpenOCD官方自带配置

无需自行维护旧版本配置文件,稳定性更高:
将你的black_pill.cfg中引用自定义stm32f1x.cfg的语句,替换为引用系统自带的官方配置source [find target/stm32f1x.cfg],同时将接口配置从source [find interface/stlink-v2-1.cfg]改为source [find interface/stlink.cfg]即可同时消除报错和警告。

内容的提问来源于stack exchange,提问作者Joel Imbergamo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:36:03