-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Description
Answers checklist.
- I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
- I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- I have searched the issue tracker for a similar issue and not found a similar issue.
IDF version.
v4.4.2
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
CMD
Development Kit.
ESP32-S3-DevKitM-1
Power Supply used.
USB
What is the expected behavior?
USB-JTAG is enabled by default, so when connecting the device via USB-Plug (not UART) to the PC the board is recognized as a JTAG-Interface in the device manager.
As soon as using TinyUSB CDC driver in the application by calling
tinyusb_driver_install()
and
tusb_cdc_acm_init()
the USB-JTAG is disabled and the device is recognized as a serial device.
When pressing the reset button or calling esp_reset() the board should again be recognized as USB-JTAG until the TinyUSB driver is loaded in the application.
What is the actual behavior?
When the TinyUSB has been loaded once, calling esp_reset() or forcing a watchdog reset does not make the device to be recognized as USB-JTAG any more.
Only when the reset button is pressed, the device is recognized as USB-JTAG again.
Steps to reproduce.
-
Connect the ESP32-S3-DevKitM-1 dev board to the pc via USB-Plug (not UART) - the device is recognized as USB-JTAG.
-
Initialize TinyUSB in the application by calling
tinyusb_driver_install()
and
tusb_cdc_acm_init()
after some delay. -
The board is recognized as serial device.
-
Call esp_restart() or force and watchdog reset.
-
The board is not recognized as USB-JTAG again.
-
Press reset button - the board is recognized as USB-JTAG again until the TinyUSB initialization is done.
Debug Logs.
No response
More Information.
It seems that the USB-JTAG is disabled by TinyUSB and is not reactivated again when calling esp_restart().