解决OpenOCD烧录STM32失败, 无法通过SWD连接的问题

当尝试使用OpenOCD在Linux下烧录STM32时遇到错误,可能由于PA13/PA14的SWD功能关闭。通过st-flash和st-info工具,结合--connect-under-reset参数,可以在按住RESET键的状态下恢复连接。如果需要,使用st-flash擦除固件以解决问题。确保在操作后等待一段时间,直到芯片被正确检测到,才能继续烧录。
摘要由CSDN通过智能技术生成

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

OpenOCD烧录STM32失败的问题

Linux下使用 OpenOCD 烧录 STM32, 出现了 Error: init mode failed (unable to connect to the target) 错误.

如果在代码中, 不小心将 PA13,PA14 的 SWD 功能关闭, 例如使用了下面的代码

rcc_periph_clock_enable(RCC_GPIOA);         // Need GPIOA clock
gpio_primary_remap(
    AFIO_MAPR_SWJ_CFG_JTAG_OFF_SW_OFF,      // Optional
    AFIO_MAPR_TIM2_REMAP_NO_REMAP);         // This is default: TIM2.CH2=GPIOA1

或者在 STM32CubeMX 中忘记勾选 PA13/PA14 的串口调试功能, 都会导致后续烧录和连接失败, 出现

Uploading .pio/build/bluepill_f103c8/firmware.elf
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-16-21:15)
Licensed under
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值