加快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 能稳定运行的最大值。为此,请参考以下建议:
- 如果 CPU 以 80 MHz 运行,则 JTAG 时钟频率的上限为 20 MHz;如果 CPU 以 160 MHz 或者 240 MHz 运行,则上限为 26 MHz。
- 根据特定的 JTAG 适配器和连接线缆的长度,你可能需要将 JTAG 的工作频率降低至 20 / 26 MHz 以下。
- 在某些特殊情况下,如果你看到 DSR/DIR 错误(并且它并不是由 OpenOCD 试图从一个没有物理存储器映射的地址空间读取数据而导致的),请降低 JTAG 的工作频率。
ESP-WROVER-KIT 能够稳定运行在20/26MHz 频率下。
配置这个参数的方法为,找到OpenOCD中有关JTag的配置文件,在我的电脑上,它是interface/ftdi/esp_usb_jtag.cfg
。将adapter speed 40000
改为建议的adapter speed 26000
。注意,这里的速度单位为kHz
参考资料
标签:OpenOCD,配置文件,加快,ESP32,MHz,调试,JTAG 来源: https://www.cnblogs.com/fang-d/p/Speedup_ESP32_Debugging.html