From 9f9f39d8d57f032d98a27c6c1981a797db6544dd Mon Sep 17 00:00:00 2001 From: Valerii Koval Date: Mon, 16 May 2022 13:18:16 +0300 Subject: [PATCH] Add support for Arduino core v2.0.3 Resolve #799, resolves #762, resolves #674 --- boards/adafruit_feather_esp32_v2.json | 42 ++++++++++++++++++ boards/adafruit_feather_esp32s3.json | 62 +++++++++++++++++++++++++++ boards/adafruit_qtpy_esp32.json | 42 ++++++++++++++++++ boards/adafruit_qtpy_esp32s3.json | 62 +++++++++++++++++++++++++++ boards/deneyapkart1A.json | 41 ++++++++++++++++++ boards/esp32-s3-devkitc-1.json | 44 +++++++++++++++++++ boards/esp32s3box.json | 48 +++++++++++++++++++++ boards/esp32s3camlcd.json | 48 +++++++++++++++++++++ boards/lionbit.json | 12 ++++-- boards/lolin_c3_mini.json | 44 +++++++++++++++++++ boards/lolin_s2_pico.json | 46 ++++++++++++++++++++ boards/um_feathers3.json | 56 ++++++++++++++++++++++++ boards/um_pros3.json | 48 +++++++++++++++++++++ boards/um_rmp.json | 46 ++++++++++++++++++++ boards/um_tinys3.json | 48 +++++++++++++++++++++ boards/watchy.json | 38 ++++++++++++++++ builder/main.py | 9 +++- examples/arduino-blink/platformio.ini | 11 ++++- platform.json | 8 +++- platform.py | 22 ++++++---- 20 files changed, 760 insertions(+), 17 deletions(-) create mode 100644 boards/adafruit_feather_esp32_v2.json create mode 100644 boards/adafruit_feather_esp32s3.json create mode 100644 boards/adafruit_qtpy_esp32.json create mode 100644 boards/adafruit_qtpy_esp32s3.json create mode 100644 boards/deneyapkart1A.json create mode 100644 boards/esp32-s3-devkitc-1.json create mode 100644 boards/esp32s3box.json create mode 100644 boards/esp32s3camlcd.json create mode 100644 boards/lolin_c3_mini.json create mode 100644 boards/lolin_s2_pico.json create mode 100644 boards/um_feathers3.json create mode 100644 boards/um_pros3.json create mode 100644 boards/um_rmp.json create mode 100644 boards/um_tinys3.json create mode 100644 boards/watchy.json diff --git a/boards/adafruit_feather_esp32_v2.json b/boards/adafruit_feather_esp32_v2.json new file mode 100644 index 0000000..a45636e --- /dev/null +++ b/boards/adafruit_feather_esp32_v2.json @@ -0,0 +1,42 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ADAFRUIT_FEATHER_ESP32_V2", + "-DBOARD_HAS_PSRAM", + "-mfix-esp32-psram-cache-issue", + "-mfix-esp32-psram-cache-strategy=memw" + ], + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "adafruit_feather_esp32_v2" + }, + "connectivity": [ + "wifi", + "bluetooth", + "ethernet", + "can" + ], + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Adafruit Feather ESP32 V2", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 327680, + "maximum_size": 8388608, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.adafruit.com/product/5400", + "vendor": "Adafruit" +} diff --git a/boards/adafruit_feather_esp32s3.json b/boards/adafruit_feather_esp32s3.json new file mode 100644 index 0000000..3d59068 --- /dev/null +++ b/boards/adafruit_feather_esp32s3.json @@ -0,0 +1,62 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x239A", + "0x8113" + ], + [ + "0x239A", + "0x0113" + ], + [ + "0x239A", + "0x8114" + ] + ], + "mcu": "esp32s3", + "variant": "adafruit_feather_esp32s3_nopsram" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Adafruit Feather ESP32-S3 No PSRAM", + "upload": { + "arduino": { + "flash_extra_images": [ + [ + "0x410000", + "variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin" + ] + ] + }, + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.adafruit.com/product/5323", + "vendor": "Adafruit" +} diff --git a/boards/adafruit_qtpy_esp32.json b/boards/adafruit_qtpy_esp32.json new file mode 100644 index 0000000..39896da --- /dev/null +++ b/boards/adafruit_qtpy_esp32.json @@ -0,0 +1,42 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ADAFRUIT_QTPY_ESP32_PICO", + "-DBOARD_HAS_PSRAM", + "-mfix-esp32-psram-cache-issue", + "-mfix-esp32-psram-cache-strategy=memw" + ], + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "adafruit_qtpy_esp32" + }, + "connectivity": [ + "wifi", + "bluetooth", + "ethernet", + "can" + ], + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Adafruit QT Py ESP32", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 327680, + "maximum_size": 8388608, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.adafruit.com/product/5395", + "vendor": "Adafruit" +} diff --git a/boards/adafruit_qtpy_esp32s3.json b/boards/adafruit_qtpy_esp32s3.json new file mode 100644 index 0000000..e01498f --- /dev/null +++ b/boards/adafruit_qtpy_esp32s3.json @@ -0,0 +1,62 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ADAFRUIT_QTPY_ESP32S3_NOPSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x239A", + "0x8119" + ], + [ + "0x239A", + "0x0119" + ], + [ + "0x239A", + "0x811A" + ] + ], + "mcu": "esp32s3", + "variant": "adafruit_qtpy_esp32s3_nopsram" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Adafruit QT Py ESP32-S3 No PSRAM", + "upload": { + "arduino": { + "flash_extra_images": [ + [ + "0x410000", + "variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin" + ] + ] + }, + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.adafruit.com/product/5426", + "vendor": "Adafruit" +} diff --git a/boards/deneyapkart1A.json b/boards/deneyapkart1A.json new file mode 100644 index 0000000..4369508 --- /dev/null +++ b/boards/deneyapkart1A.json @@ -0,0 +1,41 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_DYDK1A", + "-DBOARD_HAS_PSRAM", + "-mfix-esp32-psram-cache-issue", + "-mfix-esp32-psram-cache-strategy=memw" + ], + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "deneyapkart1A" + }, + "connectivity": [ + "wifi", + "bluetooth", + "ethernet" + ], + "debug": { + "openocd_board": "esp32-wrover.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Deneyap Kart 1A", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://deneyapkart.org/magaza/urun-deneyap-kart.html", + "vendor": "Deneyap" +} diff --git a/boards/esp32-s3-devkitc-1.json b/boards/esp32-s3-devkitc-1.json new file mode 100644 index 0000000..abe8c41 --- /dev/null +++ b/boards/esp32-s3-devkitc-1.json @@ -0,0 +1,44 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ESP32S3_DEV", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dio", + "hwids": [ + [ + "0X303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "esp32s3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Espressif ESP32-S3-DevKitC-1", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html", + "vendor": "Espressif" +} diff --git a/boards/esp32s3box.json b/boards/esp32s3box.json new file mode 100644 index 0000000..6198d80 --- /dev/null +++ b/boards/esp32s3box.json @@ -0,0 +1,48 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld", + "memory_type": "qspi_opi" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_ESP32_S3_BOX", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_USB_CDC_ON_BOOT=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "esp32s3box" + }, + "connectivity": [ + "wifi", + "bluetooth" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Espressif ESP32-S3-Box", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://www.adafruit.com/product/5290", + "vendor": "Espressif" +} diff --git a/boards/esp32s3camlcd.json b/boards/esp32s3camlcd.json new file mode 100644 index 0000000..c848c55 --- /dev/null +++ b/boards/esp32s3camlcd.json @@ -0,0 +1,48 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld", + "memory_type": "opi_opi" + }, + "boot": "opi", + "core": "esp32", + "extra_flags": [ + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_ESP32S3_CAM_LCD", + "-DARDUINO_USB_MODE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dout", + "hwids": [ + [ + "0X303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "esp32s3camlcd" + }, + "connectivity": [ + "wifi", + "bluetooth" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Espressif ESP32-S3-Box", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://www.adafruit.com/product/5290", + "vendor": "Espressif" +} diff --git a/boards/lionbit.json b/boards/lionbit.json index 41e4cf6..c8186d0 100644 --- a/boards/lionbit.json +++ b/boards/lionbit.json @@ -4,13 +4,17 @@ "ldscript": "esp32_out.ld" }, "core": "esp32", - "extra_flags": "-DARDUINO_ESP32_DEV", + "extra_flags": [ + "-DARDUINO_LIONBIT", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], "f_cpu": "240000000L", "f_flash": "40000000L", "flash_mode": "dio", "flags" : "-DCORE_DEBUG_LEVEL=5", "mcu": "esp32", - "variant": "esp32" + "variant": "lionbit" }, "connectivity": [ "wifi", @@ -25,7 +29,7 @@ "arduino", "espidf" ], - "name": "LionBit", + "name": "Lion:Bit Dev Board", "upload": { "flash_size": "4MB", "maximum_ram_size": 327680, @@ -37,5 +41,5 @@ "speed" : 115200 }, "url": "http://lionbit.lk/", - "vendor": "Lion::Bit" + "vendor": "Lion:Bit" } diff --git a/boards/lolin_c3_mini.json b/boards/lolin_c3_mini.json new file mode 100644 index 0000000..7630446 --- /dev/null +++ b/boards/lolin_c3_mini.json @@ -0,0 +1,44 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32c3_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_LOLIN_C3_MINI", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_USB_CDC_ON_BOOT=1" + ], + "f_cpu": "160000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x1001" + ] + ], + "mcu": "esp32c3", + "variant": "esp32c3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32c3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "WEMOS LOLIN C3 Mini", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.wemos.cc/en/latest/c3/c3_mini.html", + "vendor": "WEMOS" +} diff --git a/boards/lolin_s2_pico.json b/boards/lolin_s2_pico.json new file mode 100644 index 0000000..dab2b7e --- /dev/null +++ b/boards/lolin_s2_pico.json @@ -0,0 +1,46 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s2_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_LOLIN_S2_PICO", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "dio", + "hwids": [ + [ + "0X303A", + "0x80C5" + ] + ], + "mcu": "esp32s2", + "variant": "lolin_s2_pico" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_board": "esp32s2.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "WEMOS LOLIN S2 PICO", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://www.wemos.cc/en/latest/s2/s2_pico.html", + "vendor": "WEMOS" +} diff --git a/boards/um_feathers3.json b/boards/um_feathers3.json new file mode 100644 index 0000000..42d4828 --- /dev/null +++ b/boards/um_feathers3.json @@ -0,0 +1,56 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld", + "partitions": "default_16MB.csv" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_FEATHERS3", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x80D0" + ] + ], + "mcu": "esp32s3", + "variant": "um_feathers3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Unexpected Maker FeatherS3", + "upload": { + "arduino": { + "flash_extra_images": [ + [ + "0x410000", + "variants/um_feathers3/tinyuf2.bin" + ] + ] + }, + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://unexpectedmaker.com/shop/feathers3", + "vendor": "Unexpected Maker" +} diff --git a/boards/um_pros3.json b/boards/um_pros3.json new file mode 100644 index 0000000..130079f --- /dev/null +++ b/boards/um_pros3.json @@ -0,0 +1,48 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "partitions": "default_16MB.csv" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_PROS3", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x80D0" + ] + ], + "mcu": "esp32s3", + "variant": "um_pros3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Unexpected Maker PROS3", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://unexpectedmaker.com/shop/pros3", + "vendor": "Unexpected Maker" +} diff --git a/boards/um_rmp.json b/boards/um_rmp.json new file mode 100644 index 0000000..c5e547a --- /dev/null +++ b/boards/um_rmp.json @@ -0,0 +1,46 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s2_out.ld" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_RMP", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1" + ], + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "hwids": [ + [ + "0X303A", + "0x80F6" + ] + ], + "mcu": "esp32s2", + "variant": "um_rmp" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s2.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Unexpected Maker RMP", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://unexpectedmaker.com/esp32s2", + "vendor": "Unexpected Maker" +} diff --git a/boards/um_tinys3.json b/boards/um_tinys3.json new file mode 100644 index 0000000..a700709 --- /dev/null +++ b/boards/um_tinys3.json @@ -0,0 +1,48 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld", + "partitions": "default_8MB.csv" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_TINYS3", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0X303A", + "0x80D0" + ] + ], + "mcu": "esp32s3", + "variant": "um_tinys3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino" + ], + "name": "Unexpected Maker TinyS3", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 327680, + "maximum_size": 8388608, + "use_1200bps_touch": true, + "wait_for_upload_port": true, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://unexpectedmaker.com/shop/ttinys3-esp32s3", + "vendor": "Unexpected Maker" +} diff --git a/boards/watchy.json b/boards/watchy.json new file mode 100644 index 0000000..f91eed0 --- /dev/null +++ b/boards/watchy.json @@ -0,0 +1,38 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld", + "partitions": "huge_app.csv" + }, + "core": "esp32", + "extra_flags": "-DARDUINO_WATCHY", + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "watchy" + }, + "connectivity": [ + "wifi", + "bluetooth", + "ethernet", + "can" + ], + "debug": { + "openocd_board": "esp-wroom-32.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "SQFMI Watchy v2.0", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://watchy.sqfmi.com/", + "vendor": "SQFMI" +} diff --git a/builder/main.py b/builder/main.py index ffd9c60..a601414 100644 --- a/builder/main.py +++ b/builder/main.py @@ -57,6 +57,10 @@ def _get_board_flash_mode(env): return mode +def _get_board_boot_mode(env): + return env.BoardConfig().get("build.boot", "$BOARD_FLASH_MODE") + + def _parse_size(value): if isinstance(value, int): return value @@ -111,8 +115,8 @@ def _update_max_upload_size(env): if not env.get("PARTITIONS_TABLE_CSV"): return sizes = [ - _parse_size(p['size']) for p in _parse_partitions(env) - if p['type'] in ("0", "app") + _parse_size(p["size"]) for p in _parse_partitions(env) + if p["type"] in ("0", "app") ] if sizes: board.update("upload.maximum_size", max(sizes)) @@ -167,6 +171,7 @@ if mcu == "esp32c3": toolchain_arch = "riscv32-esp" env.Replace( + __get_board_boot_mode=_get_board_boot_mode, __get_board_f_flash=_get_board_f_flash, __get_board_flash_mode=_get_board_flash_mode, diff --git a/examples/arduino-blink/platformio.ini b/examples/arduino-blink/platformio.ini index 8ad7204..5f5db04 100644 --- a/examples/arduino-blink/platformio.ini +++ b/examples/arduino-blink/platformio.ini @@ -28,7 +28,14 @@ framework = arduino board = lolin32 monitor_speed = 115200 -[env:ttgo-lora32-v21] +[env:esp32-c3-devkitm-1] platform = espressif32 framework = arduino -board = ttgo-lora32-v21 +board = esp32-s3-devkitc-1 +monitor_speed = 115200 + +[env:esp32-s3-devkitc-1] +platform = espressif32 +framework = arduino +board = esp32-s3-devkitc-1 +monitor_speed = 115200 diff --git a/platform.json b/platform.json index cb48897..02b3217 100644 --- a/platform.json +++ b/platform.json @@ -43,6 +43,12 @@ "optional": true, "owner": "espressif", "version": "8.4.0+2021r2-patch3" + }, + "toolchain-xtensa-esp32s3": { + "type": "toolchain", + "optional": true, + "owner": "espressif", + "version": "8.4.0+2021r2-patch3" }, "toolchain-riscv32-esp": { "type": "toolchain", @@ -66,7 +72,7 @@ "type": "framework", "optional": true, "owner": "platformio", - "version": "~3.20002.0" + "version": "~3.20003.0" }, "framework-arduino-mbcwb": { "type": "framework", diff --git a/platform.py b/platform.py index a3b3bc7..8d50f15 100644 --- a/platform.py +++ b/platform.py @@ -95,13 +95,18 @@ class Espressif32Platform(PlatformBase): elif p in ("tool-mconf", "tool-idf") and "windows" in get_systype(): self.packages[p]["optional"] = False - if mcu in ("esp32s2", "esp32c3"): - self.packages.pop("toolchain-xtensa-esp32", None) + for available_mcu in ("esp32", "esp32s2", "esp32s3"): + if available_mcu == mcu: + self.packages["toolchain-xtensa-%s" % mcu]["optional"] = False + else: + self.packages.pop("toolchain-xtensa-%s" % available_mcu, None) + + if mcu in ("esp32s2", "esp32s3", "esp32c3"): self.packages.pop("toolchain-esp32ulp", None) - # RISC-V based toolchain for ESP32C3 and ESP32S2 ULP + if mcu != "esp32s2": + self.packages.pop("toolchain-esp32s2ulp", None) + # RISC-V based toolchain for ESP32C3, ESP32S2, ESP32S3 ULP self.packages["toolchain-riscv32-esp"]["optional"] = False - if mcu == "esp32s2": - self.packages["toolchain-xtensa-esp32s2"]["optional"] = False is_legacy_project = ( build_core == "mbcwb" @@ -113,6 +118,7 @@ class Espressif32Platform(PlatformBase): for toolchain in ( "toolchain-xtensa-esp32", "toolchain-xtensa-esp32s2", + "toolchain-xtensa-esp32s3", "toolchain-riscv32-esp", ): self.packages.pop(toolchain, None) @@ -163,6 +169,7 @@ class Espressif32Platform(PlatformBase): supported_debug_tools = [ "cmsis-dap", "esp-prog", + "esp_usb_jtag", "iot-bus-jtag", "jlink", "minimodule", @@ -189,9 +196,7 @@ class Espressif32Platform(PlatformBase): if link in non_debug_protocols or link in debug["tools"]: continue - if link == "jlink": - openocd_interface = link - elif link == "cmsis-dap": + if link in ("jlink", "cmsis-dap", "esp_usb_jtag"): openocd_interface = link elif link in ("esp-prog", "ftdi"): if board.id == "esp32-s2-kaluga-1": @@ -334,6 +339,7 @@ class Espressif32Platform(PlatformBase): toolchain_remap = { "xtensa-esp32-elf-gcc": "toolchain-xtensa-esp32", "xtensa-esp32s2-elf-gcc": "toolchain-xtensa-esp32s2", + "xtensa-esp32s3-elf-gcc": "toolchain-xtensa-esp32s3", "riscv32-esp-elf-gcc": "toolchain-riscv32-esp", }