Using the built-in USB/JTAG interface for my design

Yair.Raz
Posts: 2
Joined: Fri Jul 12, 2024 11:32 pm

Using the built-in USB/JTAG interface for my design

Postby Yair.Raz » Fri Jul 12, 2024 11:43 pm

I'm using the ESP32-S3-VROOM-1 module in my design.
I would like to use the built-in USB/JTAG interface (via GPIO19 and GPIO20) as a USB CDC serial port (for connecting to a host PC) and as a JTAG debug interface.

I know that there is a driver that allows me to use this interface as a UART. My question is: How should I configure my software and fuses to allow both serial interface AND JTAG debug from the same USB connection?

I also have an ESP32-S3-DevKitC-1 so I can test my code.

Thanks,
Yair

RandomInternetGuy
Posts: 48
Joined: Fri Aug 11, 2023 4:56 am

Re: Using the built-in USB/JTAG interface for my design

Postby RandomInternetGuy » Sun Aug 04, 2024 3:53 pm

That works. The hardware provides two different endpoints on the USB interface. One is for JTAG and the other endpoint is either virtual serial CDC/ADM (I can't recall which it is, but "serial port") or whatever you want it to be. So if you create ESP32 software to be an endpoint for a mass storage device or a printer or a keyboard or whatever, it can be those, too.

There are tons of examples on GitHub.

ESP_Sprite
Posts: 9577
Joined: Thu Nov 26, 2015 4:08 am

Re: Using the built-in USB/JTAG interface for my design

Postby ESP_Sprite » Mon Aug 05, 2024 2:43 am

Yair.Raz wrote:
Fri Jul 12, 2024 11:43 pm
I know that there is a driver that allows me to use this interface as a UART. My question is: How should I configure my software and fuses to allow both serial interface AND JTAG debug from the same USB connection?
You don't have to do anything: by default the USB-JTAG-serial port is enabled and provides both serial and JTAG functionality at the same time. (Although if you want to use fgets() and friends you may need to make it the primary console in menuconfig).

Who is online

Users browsing this forum: Google [Bot] and 358 guests