使用 OpenOCD 进行单步调试

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

关于 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 进行单步调试】

【参考文档】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值