Skip to content

Commit b56c408

Browse files
committed
Add better esptool support (ArduinoIDE 2.0.0)
Bootloader/Erase support only for ESP32-S3 Dev Board for now
1 parent 1e388a2 commit b56c408

File tree

3 files changed

+59
-10
lines changed

3 files changed

+59
-10
lines changed

boards.txt

+8-7
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,15 @@ esp32s3.name=ESP32S3 Dev Module
2626
esp32s3.vid.0=0x303a
2727
esp32s3.pid.0=0x1001
2828

29+
esp32s3.bootloader.tool=esptool_py
30+
esp32s3.bootloader.tool.default=esptool_py
31+
esp32s3.bootloader.file=bootloader_{build.boot}_{build.flash_freq}.bin
32+
2933
esp32s3.upload.tool=esptool_py
34+
esp32s3.upload.tool.default=esptool_py
35+
esp32s3.upload.tool.network=esptool_py
36+
esp32s3.upload.protocol=esp32
37+
3038
esp32s3.upload.maximum_size=1310720
3139
esp32s3.upload.maximum_data_size=327680
3240
esp32s3.upload.flags=
@@ -63,13 +71,6 @@ esp32s3.build.flash_type=qspi
6371
esp32s3.build.psram_type=qspi
6472
esp32s3.build.memory_type={build.flash_type}_{build.psram_type}
6573

66-
#esp32s3.menu.MemoryType.default=QSPI Flash and PSRAM
67-
#esp32s3.menu.MemoryType.default.build.memory_type=qspi_qspi
68-
#esp32s3.menu.MemoryType.qspi_opi=QSPI Flash and OPI PSRAM
69-
#esp32s3.menu.MemoryType.qspi_opi.build.memory_type=qspi_opi
70-
#esp32s3.menu.MemoryType.opi_opi=OPI Flash and PSRAM
71-
#esp32s3.menu.MemoryType.opi_opi.build.memory_type=opi_opi
72-
7374
esp32s3.menu.PSRAM.disabled=Disabled
7475
esp32s3.menu.PSRAM.disabled.build.defines=
7576
esp32s3.menu.PSRAM.disabled.build.psram_type=qspi

platform.txt

+44-3
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,53 @@ recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build
187187
recipe.size.regex=^(?:\.iram0\.text|\.iram0\.vectors|\.dram0\.data|\.flash\.text|\.flash\.rodata|)\s+([0-9]+).*
188188
recipe.size.regex.data=^(?:\.dram0\.data|\.dram0\.bss|\.noinit)\s+([0-9]+).*
189189

190-
# ------------------------------
191-
190+
## Required discoveries and monitors
191+
## ---------------------------------
192+
pluggable_discovery.required.0=builtin:serial-discovery
193+
pluggable_discovery.required.1=builtin:mdns-discovery
194+
pluggable_monitor.required.serial=builtin:serial-monitor
195+
196+
## ------------------
197+
## Upload/Debug tools
198+
## ------------------
199+
200+
##
201+
## ESPTool
202+
##
203+
204+
## Upload Sketch
205+
## -------------
192206
tools.esptool_py.upload.protocol=esp32
193207
tools.esptool_py.upload.params.verbose=
194208
tools.esptool_py.upload.params.quiet=
195-
tools.esptool_py.upload.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash -z --flash_mode {build.flash_mode} --flash_freq {build.flash_freq} --flash_size {build.flash_size} 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x10000 "{build.path}/{build.project_name}.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" {upload.extra_flags}
209+
tools.esptool_py.upload.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash -z --flash_mode {build.flash_mode} --flash_freq {build.flash_freq} --flash_size {build.flash_size} {build.bootloader_addr} "{build.path}/{build.project_name}.bootloader.bin" 0x8000 "{build.path}/{build.project_name}.partitions.bin" 0xe000 "{runtime.platform.path}/tools/partitions/boot_app0.bin" 0x10000 "{build.path}/{build.project_name}.bin"{upload.extra_flags}
196210
tools.esptool_py.upload.pattern="{path}/{cmd}" {upload.pattern_args}
197211
tools.esptool_py.upload.pattern.linux=python3 "{path}/{cmd}" {upload.pattern_args}
212+
213+
## Upload Sketch Through OTA
214+
## -------------------------
198215
tools.esptool_py.upload.network_pattern={network_cmd} -i "{serial.port}" -p "{network.port}" "--auth={network.password}" -f "{build.path}/{build.project_name}.bin"
216+
217+
## Program Application
218+
## -------------------
219+
tools.esptool_py.program.params.verbose=
220+
tools.esptool_py.program.params.quiet=
221+
tools.esptool_py.program.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash -z --flash_mode {build.flash_mode} --flash_freq {build.flash_freq} --flash_size {build.flash_size} 0x10000 "{build.path}/{build.project_name}.bin"
222+
tools.esptool_py.program.pattern="{path}/{cmd}" {program.pattern_args}
223+
tools.esptool_py.program.pattern.linux=python3 "{path}/{cmd}" {program.pattern_args}
224+
225+
## Erase Chip (before burning the bootloader)
226+
## ------------------------------------------
227+
tools.esptool_py.erase.params.verbose=
228+
tools.esptool_py.erase.params.quiet=
229+
tools.esptool_py.erase.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset erase_flash
230+
tools.esptool_py.erase.pattern="{path}/{cmd}" {erase.pattern_args}
231+
tools.esptool_py.erase.pattern.linux=python3 "{path}/{cmd}" {erase.pattern_args}
232+
233+
## Burn Bootloader
234+
## ---------------
235+
tools.esptool_py.bootloader.params.verbose=
236+
tools.esptool_py.bootloader.params.quiet=
237+
tools.esptool_py.bootloader.pattern_args=--chip {build.mcu} --port "{serial.port}" --baud {upload.speed} {upload.flags} --before default_reset --after hard_reset write_flash -z --flash_mode {build.flash_mode} --flash_freq {build.flash_freq} --flash_size {build.flash_size} {build.bootloader_addr} "{runtime.platform.path}/tools/sdk/{build.mcu}/bin/{bootloader.file}"
238+
tools.esptool_py.bootloader.pattern="{path}/{cmd}" {bootloader.pattern_args}
239+
tools.esptool_py.bootloader.pattern.linux=python3 "{path}/{cmd}" {bootloader.pattern_args}

programmers.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
esptool.name=Esptool
2+
esptool.communication=USB
3+
esptool.protocol=esp32
4+
esptool.program.tool=esptool_py
5+
esptool.program.tool.default=esptool_py
6+
esptool.program.extra_params=
7+
esptool.extra_params=

0 commit comments

Comments
 (0)