I found this debugger (
https://amzn.eu/d/13eGHVq) on amazon. I couldn't find any "F2232H Dual RS232" device for sale.
Following the custom board setup guide, doing various google searches and getting help from Simon and Tim, this now works as a debugger and programmer.
I had t do the usual steps of installing the drivers with zidig etc..
there is a config file that already exist named
um232h.cfg and that works for the RS232H chip on the JTAG.
The ESP32_WOOM_DA.debugger_launch.json looks like this:
{
// GDB Project: "$(ProjectName)"
// Microsoft MI: https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md#customlaunchsetupcommands
// Visualizations: https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2019
// User Guide: https://www.visualmicro.com/page/User-Guide.aspx?doc=Arduino-gdb-Tutorial.html
// Tips: To access resolved Arduino 3rd party hardware spec. properties, use $(variables) with the same name as the mi json prpperties
// To access Visual Studio macros and environment variables or hard code
// This file is for advanced use. Please use the pre-configured built-in hardware debuggers where possible.
//
"serverLaunchTimeout": 5000,
"filterStdout": false,
"filterStderr": true,
"targetArchitecture": "arm",
"stopAtEntry": false,
"externalConsole": false,
"MIMode": "gdb",
//"environment": [],
//"customLaunchSetupCommands": [],
"MIDebuggerServerAddress": "localhost:3333",
"cwd": "$(buildPath)",
"MIDebuggerPath": nsa-esp32-elf-gcc\\gcc8_4_0-esp-2021r2-patch3/bin\\xtensa-esp32-elf-gdb.exe",
"MIDebuggerArgs": "-ex \"set remote hardware-watchpoint-limit 2\" -ex \"mon reset halt\" -ex \"flushregs\" -ex \"thb app_main\" -ex \"c\"",
"debugServerPath": nocd.exe",
"debugServerArgs": "-d2 -l p32da\\Debug/RS232HSTest.ino_DebugOpenOCD.log\" -s cripts/\" -f cripts/interface/ftdi/um232h.cfg\" -c \"set ESP32_RTOS none\" -f cripts/board/esp-wroom-32.cfg\" -c \"init\"",
"setupCommands": [],
"program": "$(program)",
"logging": {
"moduleLoad": false,
"trace": false,
"engineLogging": false,
"programOutput": false,
"exceptions": false,
"traceResponse": false
}
}
and the board.txt like this:
# Amend the Uploader "FT2232H Dual RS232" to use the ftdi/um232h.cfg file for testing the FT232H Probe
tools.openocd.program.pattern="{program.path}/{program.cmd}" {program.verbose} -s "{program.path}/share/openocd/scripts/" -f "interface/ftdi/um232h.cfg" -f "board/{upload.openocdscript}" -c "echo -n {****[vMicro]**** Uploading App :}" -c "telnet_port disabled; program {{runtime.platform.path}/tools/partitions/boot_app0.bin} 0xe000" -c "echo -n {****[vMicro]**** Uploading Bootloader :}" -c "program {{build.path}/{build.project_name}.bootloader.bin} {build.bootloader_addr}" -c "echo -n {****[vMicro]**** Uploading Sketch :}" -c "program {{build.path}/{build.project_name}.bin} 0x10000" -c "echo -n {****[vMicro]**** Uploading Partitions :}" -c "program {{build.path}/{build.project_name}.partitions.bin} 0x8000 reset; shutdown"
Then the cables connect as:
AD0 -> GPIO13 (TCK)
AD1 -> GPIO12 (TDI)
AD2 -> GPIO15 (TDO)
AD3 -> GPIO14 (TMS)
AC1 -> EN (this differs from AC2 on the FT2232H)