JTAG 调试¶
本文将指导安装 ESP32-S2 的 OpenOCD 调试环境,并介绍如何使用 GDB 来调试 ESP32-S2 的应用程序。本文的组织结构如下:
介绍本指南主旨。
介绍 ESP32-S2,JTAG(Joint Test Action Group)接口,OpenOCD 和 GDB 是如何相互连接从而实现 ESP32-S2 的调试功能。
介绍有关 JTAG 硬件适配器的选择及参照标准。
介绍如何安装官方预编译好的 OpenOCD 软件包并验证是否安装成功。
介绍如何设置 OpenOCD 软件并安装 JTAG 硬件适配器,这两者共同组成最终的调试目标。
如果你对 GDB 不太熟悉,本小节会分别针对 Eclipse 集成开发环境 和 命令行终端 来讲解调试的范例。
介绍如何在 Windows,Linux 和 MacOS 操作系统上从源码构建 OpenOCD。
介绍使用 OpenOCD 和 GDB 通过 JTAG 接口调试 ESP32-S2 时的注意事项和补充内容。
引言¶
乐鑫已经为 ESP32-S2 处理器和多核 FreeRTOS 架构移植好了 OpenOCD,它将成为大多数 ESP32-S2 应用程序的基础。此外,乐鑫还提供了一些 OpenOCD 本身并不支持的工具来进一步丰富调试的功能。
本文将指导如何在 Linux,Windows 和 MacOS 环境下为 ESP32-S2 安装 OpenOCD,并使用 GDB 进行软件调试。除了个别操作系统的安装过程有所差别以外,软件用户界面和使用流程都是一样的。
注解
本文使用的图片素材来自于 Ubuntu 16.04 LTS 上 Eclipse Neon 3 软件的截图,不同的操作系统(Windows, MacOS 或者 Linux)和 Eclipse 软件版本在用户界面上可能会有细微的差别。
工作原理¶
通过 JTAG(Joint Test Action Group)接口使用 OpenOCD 调试 ESP32-S2 时所需要的一些关键的软件和硬件包括 xtensa-esp32s2-elf-gdb
调试器,OpenOCD 片上调试器 和连接到 ESP32-S2 目标的 JTAG 适配器。
JTAG 调试 - 概述图¶