使用 OpenOCD 来调试 STM32

STM32 在 Windows 上的交叉编译二 调试

在上一篇博客 《在Windows上交叉编译STM32(环境搭建)》 ,已经让 CubeMX 生成的工程成功编译,并下载到板子上了。
这篇博客主要继续介绍接下来的步骤,调试。硬件是使用的 ST-LINK ,别的也无所谓,只要是 OpenOCD 支持的就可以。

OpenOCD & GDB

这里还是,介绍的文章特别多,好的也很多。本人博客简单讲原理,大家一起从原理上理解了,会用了。我也就达到目的了。

OpenOCD(On-Chip Debugger) 很多这种缩写只要看到全部的单词也就能猜到其意义。这个东西就是一个针对不同单片机调试器的配饰器,什么 J-Link 、ST-Link 支持的还比较多。

依靠 OpenOCD 打通了开发机和单片机调试器的通路,那么还需要一个能够对于代码解析,发送对应调试命令的工具。很显然这个工具就是我们大多数人所熟知的 GDB 了。

OpenOCD 下载

下载地址 Github:
https://github.com/xpack-dev-tools/openocd-xpack/releases

或者从我的网盘下载:
链接:https://pan.baidu.com/s/1TOcZRSXVSfGCq2lcG3bJvw?pwd=fplu
提取码:fplu

CSDN 0 积分下载(我设置的是 0 ):
https://download.csdn.net/download/Megahertz66/89047213

下载后无需安装,解压后将其 bin 目录添加到 PC 的 PATH 路径就可以了。 然后在 cmd 下测试 openocd --version ,观察输出确认是否安装成功。

在这里插入图片描述

连接调试器

openocd -f <接口配置文件> -f <目标芯片配置文件>

接口配置文件所在目录:
xpack-openocd-0.12.0-2\openocd\scripts\interface\

目标芯片配置文件是openOCD支持的目标芯片:
xpack-openocd-0.12.0-2\openocd\scripts\target

例如,我所使用的调试器是 ST-Link V2,板子上的芯片是 STM32F103RCT6 。 那么我应该使用的命令就是:

openocd -f E:\MCU\openOCD\xpack-openocd-0.12.0-2x64\xpack-openocd-0.12.0-2\openocd\scripts\interface\stlink-v2.cfg -f E:\MCU\openOCD\xpack-openocd-0.12.0-2x64\xpack-openocd-0.12.0-2\openocd\scripts\target\stm32f1x.cfg

注意,把命令里面的路径换成你自己的!!!!

然后你就能在终端上看到这样的输出:

在这里插入图片描述

通过 GDB 调试

上一篇博客中已经介绍了如何安装 STM 交叉编译工具链,工具链本身内部是包含 GDB 工具的。如果已经安装好了 STM32 编译工具链,可以实时 GDB 是不是已经安装到你的电脑上了。

在这里插入图片描述

如果已经安装好了,接下来首先通过 OCD 连接到你的板子(调试器上电+板子上电)。然后你会看到上上个图中红框里面的内容。

这时候,你需要再打开一个终端,使用命令:
arm-none-eabi-gdb .\Cube_test_led_01.elf
注意: 这个 elf 文件就是通过 CubeMX 配置后编译出来的可执行文件。待连接完成,然后再通过命令使用本地网络去连接 OCD 已经创建好的 3333 端口, target remote localhost:3333
在这里插入图片描述

总结

通过前上一篇博客对 STM32 的交叉编译工具的安装,加上本篇博客对于 openOCD 的安装。目前已经实现了在 windows 上编辑,编译,调试 STM32 了。

请添加图片描述

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值