I’m trying to setup JTAG debug on PIO.
I don’t know what the issue is. OpenOCD and the FTDI drivers seem to be correct.
Any ideas will be greatly appreciated.
I modified the file esp32_devkitj_v1.cfg in an editor. It can be found in the directory:
C:\Users\jake.platformio\packages\tool-openocd-esp32\share\openocd\scripts\interface\ftdi.
See below:
//Driver for the FT2232H JTAG chip on the Espressif DevkitJ board
interface ftdi
ftdi_vid_pid 0x0403 0x6010 0x0403 0x6014 <== I moded this
// interface 1 is the uart
ftdi_channel 0
// just TCK TDI TDO TMS, no reset
ftdi_layout_init 0x0008 0x000b
reset_config none
The Platformio.ini file:
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
upload_port = COM3
monitor_port = COM3
debug_tool = esp-prog
debug_init_break = tbreak setup
upload_protocol = esp-prog
PIO Terminal output:
Executing task in folder Test_MemAlloc: C:\Users\jake.platformio\penv\Scripts\platformio.exe debug <
Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)
---------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 (1.11.2) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- tool-openocd-esp32 1.1000.20190709 (10.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 31 compatible libraries
Scanning dependencies…
Dependency Graph
|-- 1.0
|-- <SD(esp32)> 1.0.5
| |-- 1.0
| |-- 1.0
|-- 1.0
Building in debug mode
Compiling .pio\build\esp32dev\src\main.cpp.o
Generating partitions .pio\build\esp32dev\partitions.bin
Compiling .pio\build\esp32dev\lib1cb\FS\FS.cpp.o
Compiling .pio\build\esp32dev\lib1cb\FS\vfs_api.cpp.o
Compiling .pio\build\esp32dev\libcb7\SPI\SPI.cpp.o
Compiling .pio\build\esp32dev\libdd6\SD\SD.cpp.o
Compiling .pio\build\esp32dev\libdd6\SD\sd_diskio.cpp.o
Compiling .pio\build\esp32dev\libdd6\SD\sd_diskio_crc.c.o
Archiving .pio\build\esp32dev\libFrameworkArduinoVariant.a
Indexing .pio\build\esp32dev\libFrameworkArduinoVariant.a
Archiving .pio\build\esp32dev\libcb7\libSPI.a
Indexing .pio\build\esp32dev\libcb7\libSPI.a
Compiling .pio\build\esp32dev\FrameworkArduino\Esp.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\FunctionalInterrupt.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\HardwareSerial.cpp.o
src\main.cpp: In function ‘int* add(int, int)’:
src\main.cpp:24:33: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int*’ [-Wformat=]
printf(“addr: val = %x\n”, val);
^
src\main.cpp:24:33: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int*’ [-Wformat=]
Compiling .pio\build\esp32dev\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\IPv6Address.cpp.o
Archiving .pio\build\esp32dev\lib1cb\libFS.a
Compiling .pio\build\esp32dev\FrameworkArduino\MD5Builder.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\Print.cpp.o
Indexing .pio\build\esp32dev\lib1cb\libFS.a
Archiving .pio\build\esp32dev\libdd6\libSD.a
Compiling .pio\build\esp32dev\FrameworkArduino\Stream.cpp.o
Indexing .pio\build\esp32dev\libdd6\libSD.a
Compiling .pio\build\esp32dev\FrameworkArduino\StreamString.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\WString.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\base64.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\cbuf.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-adc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-bt.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-cpu.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-dac.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-gpio.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-i2c.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-ledc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-matrix.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-misc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-psram.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-rmt.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-sigmadelta.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-spi.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-time.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-timer.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-touch.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-uart.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\libb64\cdecode.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\libb64\cencode.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\main.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32dev\libFrameworkArduino.a
Indexing .pio\build\esp32dev\libFrameworkArduino.a
Linking .pio\build\esp32dev\firmware.elf
Building .pio\build\esp32dev\firmware.bin
Retrieving maximum program size .pio\build\esp32dev\firmware.elf
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM: [ ] 4.7% (used 15436 bytes from 327680 bytes)
Flash: [== ] 16.5% (used 216785 bytes from 1310720 bytes)
esptool.py v2.6
=============================== [SUCCESS] Took 12.47 seconds ===============================
Terminal will be reused by tasks, press any key to close it.
Executing task in folder Test_MemAlloc: C:\Users\jake.platformio\penv\Scripts\platformio.exe debug <
Processing esp32dev (platform: espressif32; board: esp32dev; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 (1.11.2) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- tool-openocd-esp32 1.1000.20190709 (10.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 31 compatible libraries
Scanning dependencies…
Dependency Graph
|-- 1.0
|-- <SD(esp32)> 1.0.5
| |-- 1.0
| |-- 1.0
|-- 1.0
Building in debug mode
Retrieving maximum program size .pio\build\esp32dev\firmware.elf
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM: [ ] 4.7% (used 15436 bytes from 327680 bytes)
Flash: [== ] 16.5% (used 216785 bytes from 1310720 bytes)
====================================================== [SUCCESS] Took 2.39 seconds ======================================================
Terminal will be reused by tasks, press any key to close it.
Debug Console output: