diff --git a/ports/espressif/Makefile b/ports/espressif/Makefile index af1788d01e922..1406e9bb41dc6 100644 --- a/ports/espressif/Makefile +++ b/ports/espressif/Makefile @@ -331,11 +331,13 @@ $(BUILD)/esp-idf: TARGET_SDKCONFIG = esp-idf-config/sdkconfig-$(IDF_TARGET).defaults -UF2_BOOTLOADER ?= $(if $(filter $(IDF_TARGET),esp32s2 esp32s3),1) -ifeq ($(UF2_BOOTLOADER), 1) - FLASH_SDKCONFIG = esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE).defaults -else +UF2_BOOTLOADER ?= $(if $(filter $(IDF_TARGET),esp32 esp32c3),0) +ifeq ($(UF2_BOOTLOADER), 0) FLASH_SDKCONFIG = esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE)-no-uf2.defaults +else ifeq ($(CIRCUITPY_DUALBANK), 0) + FLASH_SDKCONFIG = esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota.defaults +else + FLASH_SDKCONFIG = esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE).defaults endif ifeq ($(DEBUG), 1) @@ -433,10 +435,10 @@ FLASH_FLAGS = --flash_mode $(CIRCUITPY_ESP_FLASH_MODE) --flash_freq $(CIRCUITPY_ ESPTOOL_FLAGS ?= --before=default_reset --after=no_reset --baud 921600 -ifeq ($(UF2_BOOTLOADER),1) -all: $(BUILD)/firmware.bin $(BUILD)/firmware.uf2 -else +ifeq ($(UF2_BOOTLOADER),0) all: $(BUILD)/firmware.bin +else +all: $(BUILD)/firmware.bin $(BUILD)/firmware.uf2 endif .PHONY: esp-idf-stamp diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.mk b/ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.mk index b8bea2c02cb42..35c9236fe6cde 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.mk +++ b/ports/espressif/boards/adafruit_feather_esp32s3_4mbflash_2mbpsram/mpconfigboard.mk @@ -17,4 +17,5 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 4MB OPTIMIZATION_FLAGS = -Os -CIRCUITPY_ESP32_CAMERA = 0 + +CIRCUITPY_DUALBANK = 0 diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_tft/mpconfigboard.mk b/ports/espressif/boards/adafruit_feather_esp32s3_tft/mpconfigboard.mk index 380423ba1024f..7f26f2bcf71a3 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_tft/mpconfigboard.mk +++ b/ports/espressif/boards/adafruit_feather_esp32s3_tft/mpconfigboard.mk @@ -18,4 +18,5 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 4MB OPTIMIZATION_FLAGS = -Os -CIRCUITPY_ESP32_CAMERA = 0 + +CIRCUITPY_DUALBANK = 0 diff --git a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.mk b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.mk index 2df153253593e..1bdd129cb8a75 100644 --- a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.mk +++ b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/mpconfigboard.mk @@ -17,6 +17,7 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP32_CAMERA = 0 +CIRCUITPY_DUALBANK = 0 # Include these Python libraries in firmware. FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase diff --git a/ports/espressif/boards/mixgo_ce_serial/mpconfigboard.mk b/ports/espressif/boards/mixgo_ce_serial/mpconfigboard.mk index 6da83550be1b3..7a4e709ba4ca6 100644 --- a/ports/espressif/boards/mixgo_ce_serial/mpconfigboard.mk +++ b/ports/espressif/boards/mixgo_ce_serial/mpconfigboard.mk @@ -17,8 +17,8 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP32_CAMERA = 0 +CIRCUITPY_DUALBANK = 0 FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/mixgo_cp_lib/mixgoce_lib -CIRCUITPY_ESP32_CAMERA = 0 diff --git a/ports/espressif/boards/mixgo_ce_udisk/mpconfigboard.mk b/ports/espressif/boards/mixgo_ce_udisk/mpconfigboard.mk index da38010805888..9ca8444774873 100644 --- a/ports/espressif/boards/mixgo_ce_udisk/mpconfigboard.mk +++ b/ports/espressif/boards/mixgo_ce_udisk/mpconfigboard.mk @@ -17,8 +17,8 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP32_CAMERA = 0 +CIRCUITPY_DUALBANK = 0 FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/mixgo_cp_lib/mixgoce_lib -CIRCUITPY_ESP32_CAMERA = 0 diff --git a/ports/espressif/esp-idf-config/partitions-2MB-no-uf2.csv b/ports/espressif/esp-idf-config/partitions-2MB-no-uf2.csv index 869e7ac86e233..98f24f85ab346 100644 --- a/ports/espressif/esp-idf-config/partitions-2MB-no-uf2.csv +++ b/ports/espressif/esp-idf-config/partitions-2MB-no-uf2.csv @@ -1,7 +1,8 @@ # ESP-IDF Partition Table # Name, Type, SubType, Offset, Size, Flags -# bootloader.bin,, 0x1000, 32K -# partition table,, 0x8000, 4K -nvs, data, nvs, 0x9000, 20K, -app, app, factory, 0x10000, 1408K, -user_fs, data, fat, 0x170000, 576K, +# bootloader.bin,, 0x1000, 32K +# partition table,, 0x8000, 4K +nvs, data, nvs, 0x9000, 20K, +otadata, data, ota, 0xe000, 8K, +app, app, factory, 0x10000, 1472K, +user_fs, data, fat, 0x180000, 512K, diff --git a/ports/espressif/esp-idf-config/partitions-4MB-no-ota.csv b/ports/espressif/esp-idf-config/partitions-4MB-no-ota.csv new file mode 100644 index 0000000000000..5b76e91b4b87a --- /dev/null +++ b/ports/espressif/esp-idf-config/partitions-4MB-no-ota.csv @@ -0,0 +1,9 @@ +# ESP-IDF Partition Table +# Name, Type, SubType, Offset, Size, Flags +# bootloader.bin,, 0x1000, 32K +# partition table,, 0x8000, 4K +nvs, data, nvs, 0x9000, 20K, +otadata, data, ota, 0xe000, 8K, +ota_0, 0, ota_0, 0x10000, 1536K, +uf2, app, factory, 0x190000, 256K, +user_fs, data, fat, 0x1d0000, 2240K, diff --git a/ports/espressif/esp-idf-config/sdkconfig-4MB-no-ota.defaults b/ports/espressif/esp-idf-config/sdkconfig-4MB-no-ota.defaults new file mode 100644 index 0000000000000..36899aeda9ddf --- /dev/null +++ b/ports/espressif/esp-idf-config/sdkconfig-4MB-no-ota.defaults @@ -0,0 +1,18 @@ +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y +# end of Serial flasher config + +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-4MB-no-ota.csv" +# +# Partition Table +# +CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-4MB-no-ota.csv" +# end of Partition Table