using the usb serial / jtag interface with esp-idf

davidzuhn
Posts: 19
Joined: Fri Sep 20, 2019 1:50 am

Re: using the usb serial / jtag interface with esp-idf

Postby davidzuhn » Wed Mar 26, 2025 5:30 am

I know exactly what the problem is. Dev boards include a little usb to uart chip that drives the boot and EN pins using its RTS and CTS outputs. This configuration is known as "default_reset" in the toolchain, and as the name suggests, all the command lines generated by the toolchain include "--before default_resest" to reset the board and kick it into the bootloader. The USB / JTAG peripheral is also capable of generating the correct reset behavior but only when "--before usb_reset" is used on the CLI. I cant figure out how the toolchain configures this and I have spent hours trying. I am guessing its just hardcoded someplace.
I believe there is some other issue going on here. My boards do not have any USB<->serial interface chips, nor the transistors to tickle EN/reset based on the CTS/RTS signals. Yet I have no trouble working with idf.py commands (app-flash, flash, erase, monitor, etc.) without needing any other command line options.

So there isn't a requirement for the CTS/RTS supporting hardware, nor for additional options to idf.py.

MicroController
Posts: 2661
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: using the usb serial / jtag interface with esp-idf

Postby MicroController » Wed Mar 26, 2025 11:01 am

I believe there is some other issue going on here. [...] I have no trouble working with idf.py commands (app-flash, flash, erase, monitor, etc.) without needing any other command line options.
Yep, same here.

Maybe a driver issue? Windows or Linux?

bram128
Posts: 19
Joined: Fri Dec 20, 2024 3:41 am

Re: using the usb serial / jtag interface with esp-idf

Postby bram128 » Sun Mar 30, 2025 4:20 pm

thats really interesting. im on windows with the latest esp-idf release (5.4)

bram128
Posts: 19
Joined: Fri Dec 20, 2024 3:41 am

Re: using the usb serial / jtag interface with esp-idf

Postby bram128 » Sun Mar 30, 2025 4:23 pm

when you look at the esptool command line that is printed after running "idf.py build", does it include "-before usb-reset"?

is there some idf configuration command that sets this? Similar to "idf.py --set-target esp32s3"?
I know exactly what the problem is. Dev boards include a little usb to uart chip that drives the boot and EN pins using its RTS and CTS outputs. This configuration is known as "default_reset" in the toolchain, and as the name suggests, all the command lines generated by the toolchain include "--before default_resest" to reset the board and kick it into the bootloader. The USB / JTAG peripheral is also capable of generating the correct reset behavior but only when "--before usb_reset" is used on the CLI. I cant figure out how the toolchain configures this and I have spent hours trying. I am guessing its just hardcoded someplace.
I believe there is some other issue going on here. My boards do not have any USB<->serial interface chips, nor the transistors to tickle EN/reset based on the CTS/RTS signals. Yet I have no trouble working with idf.py commands (app-flash, flash, erase, monitor, etc.) without needing any other command line options.

So there isn't a requirement for the CTS/RTS supporting hardware, nor for additional options to idf.py.

Who is online

Users browsing this forum: Bing [Bot], Google [Bot], PerplexityBot, Qwantbot, Semrush [Bot], YisouSpider and 9 guests