警告

This document is not updated for ESP32C5 yet, so some of the content may not be correct.

This warning was automatically inserted due to the source file being in the add_warnings_pages list.

MacOS 环境下从源码编译 OpenOCD

[English]

除了从 Espressif 官方 直接下载 OpenOCD 可执行文件,你还可以选择从源码编译得到 OpenOCD。如果想要快速设置 OpenOCD 而不是自行编译,请备份好当前文件,前往 安装 OpenOCD 章节查阅。

下载 OpenOCD 源码

支持 ESP32-C5 的 OpenOCD 源代码可以从乐鑫官方的 GitHub 获得,网址为 https://github.com/espressif/openocd-esp32。请使用以下命令来下载源代码:

cd ~/esp
git clone --recursive https://github.com/espressif/openocd-esp32.git

克隆后的源代码被保存在 ~/esp/openocd-esp32 目录中。

安装依赖的软件包

使用 Homebrew 安装编译 OpenOCD 所需的软件包:

brew install automake libtool libusb wget gcc@4.9 pkg-config

构建 OpenOCD

配置和构建 OpenOCD 的流程如下:

cd ~/esp/openocd-esp32
./bootstrap
./configure
make

你可以选择最后再执行 sudo make install ,如果你已经安装过别的开发平台的 OpenOCD,请跳过这个步骤,因为它可能会覆盖掉原来的 OpenOCD。

备注

  • 如果发生错误,请解决后再次尝试编译,直到 make 成功为止。

  • 发生 Unknown command 'raggedright' 错误可能是因为安装的 texinfo 版本不对,或是由于没有将其添加到 PATH 路径。为了解决该问题,在运行 ./bootstrap 前,请先运行如下命令确保安装合适版本的 texinfo 并将其添加到 PATH 路径:

    brew install texinfo
    export PATH=/usr/local/opt/texinfo/bin:$PATH
    
  • 如果 OpenOCD 存在子模块问题,请 cdopenocd-esp32 目录,并输入 git submodule update --init 命令。

  • 如果 ./configure 成功运行,JTAG 被使能的信息会被打印在 OpenOCD configuration summary 下面。

  • 如果你的设备信息未显示在日志中,请根据 ../openocd-esp32/doc/INSTALL.txt 文中的描述使用 ./configure 启用它。

  • 有关编译 OpenOCD 的详细信息,请参阅 openocd-esp32/README.OSX

一旦 make 过程成功结束,OpenOCD 的可执行文件会被保存到 ~/esp/openocd-esp32/src/openocd 目录中。

下一步

想要进一步配置调试环境,请前往 配置 ESP32-C5 目标板 章节。