问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用 OpenOCD 来调试 STM32

创作时间:
作者:
@小白创作中心

使用 OpenOCD 来调试 STM32

引用
CSDN
1.
https://blog.csdn.net/Megahertz66/article/details/137124920

本文将详细介绍如何使用OpenOCD来调试STM32微控制器。通过本文,你将学习到OpenOCD和GDB的基本概念,以及如何在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了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号