Skip to content

Commit

Permalink
Merge branch 'espressif:master' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason2866 authored Dec 7, 2024
2 parents 44f6c58 + 804f2db commit 7c61b18
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 7 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build_esptool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
- uses: uraimo/run-on-arch-action@v2
name: Build and test in ${{ matrix.platform }}
with:
arch: ${{ matrix.platform }}
distro: ubuntu20.04
shell: /bin/bash
# Not required, but speeds up builds by storing container images in
Expand Down
2 changes: 1 addition & 1 deletion ci/download_flasher_stubs.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"STUB_SET_VERSION": "1",
"DOWNLOAD_URL": "https://github.com/espressif/esptool-legacy-flasher-stub/releases/download",
"TAG_URL": "https://github.com/espressif/esptool-legacy-flasher-stub/releases/tag",
"VERSION": "v1.3.0",
"VERSION": "v1.4.0",
"FILE_LIST": (
"esp32",
"esp32c2",
Expand Down
15 changes: 14 additions & 1 deletion esptool/targets/esp32p4.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@ class ESP32P4ROM(ESP32ROM):
PURPOSE_VAL_XTS_AES256_KEY_2 = 3
PURPOSE_VAL_XTS_AES128_KEY = 4

USB_RAM_BLOCK = 0x800 # Max block size USB-OTG is used

GPIO_STRAP_REG = 0x500E0038
GPIO_STRAP_SPI_BOOT_MASK = 0x8 # Not download mode
RTC_CNTL_OPTION1_REG = 0x50110008
RTC_CNTL_FORCE_DOWNLOAD_BOOT_MASK = 0x4 # Is download mode forced over USB?

SUPPORTS_ENCRYPTED_FLASH = True

FLASH_ENCRYPTED_WRITE_ALIGN = 16
Expand Down Expand Up @@ -206,6 +213,8 @@ def change_baud(self, baud):
ESPLoader.change_baud(self, baud)

def _post_connect(self):
if self.uses_usb_otg():
self.ESP_RAM_BLOCK = self.USB_RAM_BLOCK
if not self.sync_stub_detected: # Don't run if stub is reused
self.disable_watchdogs()

Expand Down Expand Up @@ -262,7 +271,7 @@ def rtc_wdt_reset(self):
self.write_reg(self.RTC_CNTL_WDTWPROTECT_REG, 0) # lock

def hard_reset(self):
if self.uses_usb_jtag_serial():
if self.uses_usb_jtag_serial() or self.uses_usb_otg():
self.rtc_wdt_reset()
else:
ESPLoader.hard_reset(self)
Expand All @@ -286,5 +295,9 @@ def __init__(self, rom_loader):
self.cache = rom_loader.cache
self.flush_input() # resets _slip_reader

if rom_loader.uses_usb_otg():
self.ESP_RAM_BLOCK = self.USB_RAM_BLOCK
self.FLASH_WRITE_SIZE = self.USB_RAM_BLOCK


ESP32P4ROM.STUB_CLASS = ESP32P4StubLoader
2 changes: 1 addition & 1 deletion esptool/targets/stub_flasher/1/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Licensing

The binaries in JSON format distributed in this directory are released as Free Software under GNU General Public License Version 2 or later. They were released at https://github.com/espressif/esptool-legacy-flasher-stub/releases/tag/v1.3.0 from where the sources can be obtained.
The binaries in JSON format distributed in this directory are released as Free Software under GNU General Public License Version 2 or later. They were released at https://github.com/espressif/esptool-legacy-flasher-stub/releases/tag/v1.4.0 from where the sources can be obtained.
8 changes: 4 additions & 4 deletions esptool/targets/stub_flasher/1/esp32p4.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"entry": 1341195918,
"text": "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",
"entry": 1341196252,
"text": "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",
"text_start": 1341194240,
"data": "EAD1TwYK8U9WCvFPrgrxT4QL8U/wC/FPngvxT9QI8U9AC/FPgAvxT8IK8U+ECPFP9grxT4QI8U/gCfFPJgrxT1YK8U+uCvFP8gnxTzgJ8U9oCfFP7gnxT0AO8U9WCvFPCA3xTwAO8U/EB/FPJA7xT8QH8U/EB/FPxAfxT8QH8U/EB/FPxAfxT8QH8U/EB/FPpAzxT8QH8U8mDfFPAA7xTw==",
"data_start": 1341533100,
"data": "XAD1T1QM8U+kDPFP/AzxT9IN8U8+DvFP7A3xTyAL8U+ODfFPzg3xTxAN8U/QCvFPRA3xT9AK8U8uDPFPdAzxT6QM8U/8DPFPQAzxT4QL8U+0C/FPPAzxT5YQ8U+kDPFPXg/xT1YQ8U9sCfFPehDxT2wJ8U9sCfFPbAnxT2wJ8U9sCfFPbAnxT2wJ8U9sCfFP8g7xT2wJ8U98D/FPVhDxTw==",
"data_start": 1341533176,
"bss_start": 1341456384
}

0 comments on commit 7c61b18

Please sign in to comment.