ESP32C6 still resets with DTR when USB_SERIAL_JTAG_USB_UART_CHIP_RST_DIS is set
Posted: Fri Nov 22, 2024 12:14 am
On windows, when the software disconnects from the serial port, it toggles the DTR line which resets the ESP32C6 (I have a esp32c6 devkit mini, v0.0).
I know there is nothing to do on the device for the USB to UART connection but on the USB Serial/JTAG, the documentations says:
So I have been trying to change that bit but without any functional difference. Toggling the DTR signal still resets the ESP32C6.
The code I use is basically
which I used in the arduino devkit but also in the esp-idf. I even modified the 2nd stage bootloader to basically only do that and stop there and I still get the same behavior.
So has anybody been able to make that function work as documented or is this a hardware problem (or documentation error).
I know there is nothing to do on the device for the USB to UART connection but on the USB Serial/JTAG, the documentations says:
This is in section 32.3.2 CDC-ACM Firmware Interface Functional Description of the ESP32-C6 Technical Reference Manual.Note that as described earlier, certain RTS/DTR sequences lead to hardware reset of ESP32-C6. Software can disable hardware recognition of these DTR/RTS sequences by setting the USB_SERIAL_JTAG_USB_UART_CHIP_RST_DIS bit, allowing software to interpret these signals freely.
So I have been trying to change that bit but without any functional difference. Toggling the DTR signal still resets the ESP32C6.
The code I use is basically
Code: Select all
#include "soc/usb_serial_jtag_struct.h"
USB_SERIAL_JTAG.chip_rst.usb_uart_chip_rst_dis = 1;
So has anybody been able to make that function work as documented or is this a hardware problem (or documentation error).