其他分享
首页 > 其他分享> > 加快ESP32的调试速度

加快ESP32的调试速度

作者:互联网

ESP32调试的时候,速度比较慢,每一个语句都要较长的时间才能执行完。这对于像我这样习惯在PC上调试程序丝滑体验的人非常不友好。本文介绍了一些提升ESP32调试速度的方法。

调节ESP32主频

ESP32支持80MHz、160MHz、240MHz的主频,但是在默认情况下,其主频为160MHz。调高其默认主频,有利于提高程序的运行效率。主频可以使用代码进行调节(这主要用于ESP32的功耗控制与电源管理),其默认值可以在menuconfig中进行配置。

禁用FreeRTOS调试

ESP32基于FreeRTOS,我们能在调试的时候看到其线程的堆栈。然而,在更多时候,我们的调试更多的是针对我们自己的代码,这意味着我们不需要调试FreeRTOS。此时,我们可以禁用FreeRTOS的调试,加快调试的速度。这个选项我们可以在ESP32的OpenOCD配置文件中添加下面这行语句:

set ESP_RTOS none

配置文件是根据您的调试配置而定的。在我的设备上,这个文件是board/esp32s3-builtin.cfg

优化JTAG的速度

为了实现更高的数据通信速率同时最小化丢包数,建议优化 JTAG 时钟频率的设置,使其达到 JTAG 能稳定运行的最大值。为此,请参考以下建议:

  1. 如果 CPU 以 80 MHz 运行,则 JTAG 时钟频率的上限为 20 MHz;如果 CPU 以 160 MHz 或者 240 MHz 运行,则上限为 26 MHz。
  2. 根据特定的 JTAG 适配器和连接线缆的长度,你可能需要将 JTAG 的工作频率降低至 20 / 26 MHz 以下。
  3. 在某些特殊情况下,如果你看到 DSR/DIR 错误(并且它并不是由 OpenOCD 试图从一个没有物理存储器映射的地址空间读取数据而导致的),请降低 JTAG 的工作频率。
    ESP-WROVER-KIT 能够稳定运行在20/26MHz 频率下。

配置这个参数的方法为,找到OpenOCD中有关JTag的配置文件,在我的电脑上,它是interface/ftdi/esp_usb_jtag.cfg。将adapter speed 40000改为建议的adapter speed 26000。注意,这里的速度单位为kHz

参考资料

  1. ESP32的电源管理
  2. ESP32配置OpenOCD
  3. ESP32的配置文件
  4. ESP32-S3的配置文件
  5. OpenOCD配置JTAG的速度
  6. ESP32优化JTAG的速度

标签:OpenOCD,配置文件,加快,ESP32,MHz,调试,JTAG
来源: https://www.cnblogs.com/fang-d/p/Speedup_ESP32_Debugging.html