虽然不喜欢进行单步调试,但是不可否认它的重要性,所以也尝试了一下,以帮助后来有需要的小伙伴。

关于 ESP32 的更多博客,请查看 【ESP32 系列博客 - 目录

【安装 OpenOCD】

本人使用的是 Linux 环境,所以第一步请按照你的平台所对应的方法安装 OpenOCD,然后再继续后续操作。

为了更好地适配 ESP32,乐鑫对 OpenOCD 进行了一些改动,所以我们必须通过源码安装 OpenOCD,这会显得略微有点复杂。否则的话,直接一条命令 sudo apt-get install openocd 就能进行安装。

先从乐鑫官方的 GitHub 仓库下载源码:

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

OpenOCD 依赖于 libftdi 和 libusb 这两个库,否则再执行 ./configure 时将会报错。使用如下的命令进行安装:

sudo apt-get install libftdi-dev libusb-1.0-0-dev

然后检查依赖包、编译、安装:

./bootstrap
./configure --enable-openjtag_ftdi
make && sudo make install

注意,执行完make命令后,会在相对当前目录下生成可执行文件src/openocd。 如果你的系统中已安装了其它版本的 OpenOCD,则不要执行后面的 sudo make install 命令进行安装,因为它会覆盖你之前的版本。不过如果是这样的话,每次执行 openocd 命令的时候需要使用它的绝对或相对路径(而不要用环境变量中的 openocd)。

【配置 OpenOCD】

通常,OpenOCD 运行时需要使用两个配置文件。
ESP-IDF 里面包含了一个默认的配置文件,具体路径是 $IDF_PATH/docs/api-guides/esp32.cfg。我使用的 JTAG 适配器是 Jlink,所以我将该配置文件里面的这一行改成这样了:

#source [find interface/ftdi/tumpa.cfg]
source [find interface/jlink.cfg]

【硬件接线】

TDI --- 18 --- SD3
TDO --- 21 --- SD0
TCK --- 20 --- CLK
TMS --- 17 --- SD2
GND ---------- GND

【使用命令行进行单步调试】

【使用 Eclipse 进行单步调试】

【参考文档】

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐