Skip to content

Commit 1059ec7

Browse files
mythbuster5radimkarnis
authored andcommitted
fix(esp32-c5): Use a longer reset delay with usb-serial/jtag to stabilize boot-up
1 parent d49837e commit 1059ec7

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

esptool/reset.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,13 +148,13 @@ class HardReset(ResetStrategy):
148148
Can be used to reset out of the bootloader or to restart a running app.
149149
"""
150150

151-
def __init__(self, port, uses_usb_otg=False):
151+
def __init__(self, port, uses_usb=False):
152152
super().__init__(port)
153-
self.uses_usb_otg = uses_usb_otg
153+
self.uses_usb = uses_usb
154154

155155
def reset(self):
156156
self._setRTS(True) # EN->LOW
157-
if self.uses_usb_otg:
157+
if self.uses_usb:
158158
# Give the chip some time to come out of reset,
159159
# to be able to handle further DTR/RTS transitions
160160
time.sleep(0.2)

esptool/targets/esp32c5.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from .esp32c6 import ESP32C6ROM
99
from ..loader import ESPLoader
10+
from ..reset import HardReset
1011

1112

1213
class ESP32C5ROM(ESP32C6ROM):
@@ -24,6 +25,8 @@ class ESP32C5ROM(ESP32C6ROM):
2425
PCR_SYSCLK_XTAL_FREQ_V = 0x7F << 24
2526
PCR_SYSCLK_XTAL_FREQ_S = 24
2627

28+
UARTDEV_BUF_NO = 0x4085F51C # Variable in ROM .bss which indicates the port in use
29+
2730
# Magic value for ESP32C5
2831
CHIP_DETECT_MAGIC_VALUE = [0x8082C5DC]
2932

@@ -67,6 +70,10 @@ def get_crystal_freq_rom_expect(self):
6770
self.read_reg(self.PCR_SYSCLK_CONF_REG) & self.PCR_SYSCLK_XTAL_FREQ_V
6871
) >> self.PCR_SYSCLK_XTAL_FREQ_S
6972

73+
def hard_reset(self):
74+
print("Hard resetting via RTS pin...")
75+
HardReset(self._port, self.uses_usb_jtag_serial())()
76+
7077
def change_baud(self, baud):
7178
if not self.IS_STUB:
7279
crystal_freq_rom_expect = self.get_crystal_freq_rom_expect()

0 commit comments

Comments
 (0)