From becd418eb604369a005ff9cdcea4f8a96c6fac24 Mon Sep 17 00:00:00 2001 From: Jason2866 <24528715+Jason2866@users.noreply.github.com> Date: Wed, 9 Aug 2023 21:22:22 +0200 Subject: [PATCH] core 2.0.11.20230809 / Platformio upstream updates * Reduce time between consecutive builds * dfu uploader * New sdkconfig 2.0.11 build version * Update platform version --- README.md | 2 +- boards/adafruit_matrixportal_esp32s3.json | 65 +++++++++++++++++++ boards/arduino_nano_esp32.json | 53 +++++++++++++++ boards/bee_s3.json | 2 +- boards/deneyapkart.json | 9 +-- boards/deneyapkart1A.json | 9 +-- boards/deneyapkart1Av2.json | 11 ++-- boards/deneyapkartg.json | 13 ++-- boards/deneyapmini.json | 8 +-- boards/deneyapminiv2.json | 10 ++- ...simcam.json => dfrobot_romeo_esp32s3.json} | 22 +++---- boards/esp32-c3-mini.json | 34 ---------- boards/esp32-c6-devkitc-1.json | 25 +++++++ boards/esp32-s2-usb.json | 34 ---------- boards/esp32-s3-usb.json | 34 ---------- boards/lolin_s2_mini.json | 2 +- boards/lolin_s2_pico.json | 2 +- boards/lolin_s3_mini.json | 46 +++++++++++++ boards/m5stack-cores3.json | 46 +++++++++++++ .../{m5stack-atoms3 => m5stack-stamps3.json} | 8 +-- boards/m5stamp-pico.json | 34 ++++++++++ boards/nebulas3.json | 47 ++++++++++++++ boards/seeed_xiao_esp32c3.json | 2 +- boards/seeed_xiao_esp32s3.json | 53 +++++++++++++++ builder/frameworks/espidf.py | 1 + builder/main.py | 22 +++++++ platform.json | 16 +++-- platform.py | 10 +++ 28 files changed, 464 insertions(+), 156 deletions(-) create mode 100644 boards/adafruit_matrixportal_esp32s3.json create mode 100644 boards/arduino_nano_esp32.json rename boards/{ttgo-t-simcam.json => dfrobot_romeo_esp32s3.json} (63%) delete mode 100644 boards/esp32-c3-mini.json create mode 100644 boards/esp32-c6-devkitc-1.json delete mode 100644 boards/esp32-s2-usb.json delete mode 100644 boards/esp32-s3-usb.json create mode 100644 boards/lolin_s3_mini.json create mode 100644 boards/m5stack-cores3.json rename boards/{m5stack-atoms3 => m5stack-stamps3.json} (83%) create mode 100644 boards/m5stamp-pico.json create mode 100644 boards/nebulas3.json create mode 100644 boards/seeed_xiao_esp32s3.json diff --git a/README.md b/README.md index 7945101c2..af67397c2 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Espressif Systems is a privately held fabless semiconductor company. They provid based on Arduino Core 2.0.11 and can be used with Platformio for the ESP32/ESP32solo1, ESP32C3, ESP32S2 and ESP32S3 ``` [platformio] -platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.07.00/platform-espressif32.zip +platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.08.00/platform-espressif32.zip framework = arduino ``` to use the ESP32 Solo1 Arduino framework add in your env diff --git a/boards/adafruit_matrixportal_esp32s3.json b/boards/adafruit_matrixportal_esp32s3.json new file mode 100644 index 000000000..3446cd217 --- /dev/null +++ b/boards/adafruit_matrixportal_esp32s3.json @@ -0,0 +1,65 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld", + "partitions": "partitions-8MB-tinyuf2.csv" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_ADAFRUIT_MATRIXPORTAL_ESP32S3", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", + "-DBOARD_HAS_PSRAM" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x239A", + "0x8125" + ], + [ + "0x239A", + "0x0125" + ], + [ + "0x239A", + "0x8126" + ] + ], + "mcu": "esp32s3", + "variant": "adafruit_matrixportal_esp32s3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Adafruit MatrixPortal ESP32-S3", + "upload": { + "arduino": { + "flash_extra_images": [ + [ + "0x410000", + "variants/adafruit_matrixportal_esp32s3/tinyuf2.bin" + ] + ] + }, + "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://www.adafruit.com/product/5778", + "vendor": "Adafruit" +} diff --git a/boards/arduino_nano_esp32.json b/boards/arduino_nano_esp32.json new file mode 100644 index 000000000..c6da4e227 --- /dev/null +++ b/boards/arduino_nano_esp32.json @@ -0,0 +1,53 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32s3_out.ld", + "partitions": "app3M_fat9M_fact512k_16MB.csv", + "memory_type": "qio_opi" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_NANO_ESP32", + "-DBOARD_HAS_PIN_REMAP", + "-DBOARD_HAS_PSRAM", + "-DUSB_MANUFACTURER=\\\"Arduino\\\"", + "-DUSB_PRODUCT=\\\"NanoESP32\\\"", + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_USB_DFU_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x2341", + "0x0070" + ] + ], + "mcu": "esp32s3", + "variant": "arduino_nano_nora" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Arduino Nano ESP32", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 460800, + "protocol": "dfu" + }, + "url": "https://docs.arduino.cc/hardware/nano-esp32", + "vendor": "Arduino" +} diff --git a/boards/bee_s3.json b/boards/bee_s3.json index 2f65542fd..16e47ee79 100644 --- a/boards/bee_s3.json +++ b/boards/bee_s3.json @@ -1,7 +1,7 @@ { "build": { "arduino": { - "ldscript": "esp32s2_out.ld" + "ldscript": "esp32s3_out.ld" }, "core": "esp32", "extra_flags": [ diff --git a/boards/deneyapkart.json b/boards/deneyapkart.json index 018813d78..7d499bd4b 100644 --- a/boards/deneyapkart.json +++ b/boards/deneyapkart.json @@ -7,6 +7,8 @@ "extra_flags": [ "-DARDUINO_DYDK", "-DBOARD_HAS_PSRAM", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", "-mfix-esp32-psram-cache-issue", "-mfix-esp32-psram-cache-strategy=memw" ], @@ -18,8 +20,7 @@ }, "connectivity": [ "wifi", - "bluetooth", - "ethernet" + "bluetooth" ], "debug": { "openocd_board": "esp32-wrover.cfg" @@ -36,6 +37,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://deneyapkart.org/magaza/urun-deneyap-kart.html", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-kart", + "vendor": "T3 Foundation" } diff --git a/boards/deneyapkart1A.json b/boards/deneyapkart1A.json index 8aac1883f..46f513fac 100644 --- a/boards/deneyapkart1A.json +++ b/boards/deneyapkart1A.json @@ -7,6 +7,8 @@ "extra_flags": [ "-DARDUINO_DYDK1A", "-DBOARD_HAS_PSRAM", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", "-mfix-esp32-psram-cache-issue", "-mfix-esp32-psram-cache-strategy=memw" ], @@ -18,8 +20,7 @@ }, "connectivity": [ "wifi", - "bluetooth", - "ethernet" + "bluetooth" ], "debug": { "openocd_board": "esp32-wrover.cfg" @@ -36,6 +37,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://deneyapkart.org/magaza/urun-deneyap-kart.html", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-kart-1a", + "vendor": "T3 Foundation" } diff --git a/boards/deneyapkart1Av2.json b/boards/deneyapkart1Av2.json index 44332b728..e57a00846 100644 --- a/boards/deneyapkart1Av2.json +++ b/boards/deneyapkart1Av2.json @@ -9,7 +9,9 @@ "-DARDUINO_DYDK1Av2", "-DBOARD_HAS_PSRAM", "-DARDUINO_USB_MODE=1", - "-DARDUINO_USB_CDC_ON_BOOT=1" + "-DARDUINO_USB_CDC_ON_BOOT=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" ], "f_cpu": "240000000L", "f_flash": "80000000L", @@ -24,7 +26,8 @@ "variant": "deneyapkart1Av2" }, "connectivity": [ - "wifi" + "wifi", + "bluetooth" ], "debug": { "openocd_target": "esp32s3.cfg" @@ -43,6 +46,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://wiki.banana-pi.org/BPI-Leaf-S3", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-kart-1a-v2-type-c", + "vendor": "T3 Foundation" } diff --git a/boards/deneyapkartg.json b/boards/deneyapkartg.json index 8b0bb333a..19f1b0415 100644 --- a/boards/deneyapkartg.json +++ b/boards/deneyapkartg.json @@ -4,19 +4,20 @@ "ldscript": "esp32c3_out.ld" }, "core": "esp32", - "f_cpu": "160000000L", - "f_flash": "80000000L", - "flash_mode": "qio", "extra_flags": [ "-DARDUINO_DYG", "-DARDUINO_USB_MODE=1", "-DARDUINO_USB_CDC_ON_BOOT=1" ], + "f_cpu": "160000000L", + "f_flash": "80000000L", + "flash_mode": "qio", "mcu": "esp32c3", "variant": "deneyapkartg" }, "connectivity": [ - "wifi" + "wifi", + "bluetooth" ], "debug": { "openocd_target": "esp32c3.cfg" @@ -33,6 +34,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://deneyapkart.org/en/", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-kart-g-type-c", + "vendor": "T3 Foundation" } diff --git a/boards/deneyapmini.json b/boards/deneyapmini.json index 046fcba0b..5a358cdb5 100644 --- a/boards/deneyapmini.json +++ b/boards/deneyapmini.json @@ -21,9 +21,7 @@ "variant": "deneyapmini" }, "connectivity": [ - "wifi", - "bluetooth", - "ethernet" + "wifi" ], "debug": { "openocd_target": "esp32s2.cfg" @@ -42,6 +40,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://deneyapkart.org/magaza/urun-deneyap-kart-mini.html", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-mini", + "vendor": "T3 Foundation" } diff --git a/boards/deneyapminiv2.json b/boards/deneyapminiv2.json index b0c6cfdeb..42058a81b 100644 --- a/boards/deneyapminiv2.json +++ b/boards/deneyapminiv2.json @@ -5,8 +5,8 @@ }, "core": "esp32", "extra_flags": [ - "-DBOARD_HAS_PSRAM", "-DARDUINO_DYMv2", + "-DBOARD_HAS_PSRAM", "-DARDUINO_USB_CDC_ON_BOOT=1" ], "f_cpu": "240000000L", @@ -22,9 +22,7 @@ "variant": "deneyapminiv2" }, "connectivity": [ - "wifi", - "bluetooth", - "ethernet" + "wifi" ], "debug": { "openocd_target": "esp32s2.cfg" @@ -43,6 +41,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://deneyapkart.org/magaza/urun-deneyap-kart-mini.html", - "vendor": "Deneyap" + "url": "https://magaza.deneyapkart.org/tr/product/detail/deneyap-mini-v2-type-c", + "vendor": "T3 Foundation" } diff --git a/boards/ttgo-t-simcam.json b/boards/dfrobot_romeo_esp32s3.json similarity index 63% rename from boards/ttgo-t-simcam.json rename to boards/dfrobot_romeo_esp32s3.json index 1f3314e05..63a7cb472 100644 --- a/boards/ttgo-t-simcam.json +++ b/boards/dfrobot_romeo_esp32s3.json @@ -1,14 +1,16 @@ { "build": { - "arduino":{ + "arduino": { "ldscript": "esp32s3_out.ld", + "partitions": "app3M_fat9M_16MB.csv", "memory_type": "qio_opi" }, "core": "esp32", "extra_flags": [ - "-DBOARD_HAS_PSRAM", - "-DARDUINO_ESP32S3_CAM_LCD", - "-DARDUINO_USB_MODE=1" + "-DARDUINO_DFROBOT_ROMEO_ESP32S3", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" ], "f_cpu": "240000000L", "f_flash": "80000000L", @@ -20,11 +22,10 @@ ] ], "mcu": "esp32s3", - "variant": "esp32s3" + "variant": "dfrobot_romeo_esp32s3" }, "connectivity": [ - "wifi", - "bluetooth" + "wifi" ], "debug": { "openocd_target": "esp32s3.cfg" @@ -33,15 +34,14 @@ "arduino", "espidf" ], - "name": "LilyGo T-SIMCAM ESP32-S3 16M QIO Flash 8MB OPI PSRAM", + "name": "DFRobot Romeo ESP32-S3", "upload": { "flash_size": "16MB", "maximum_ram_size": 327680, "maximum_size": 16777216, "require_upload_port": true, - "before_reset": "usb_reset", "speed": 460800 }, - "url": "https://github.com/Xinyuan-LilyGO/LilyGo-Camera-Series", - "vendor": "LilyGo" + "url": "https://wiki.dfrobot.com/", + "vendor": "DFRobot" } diff --git a/boards/esp32-c3-mini.json b/boards/esp32-c3-mini.json deleted file mode 100644 index 936f27c26..000000000 --- a/boards/esp32-c3-mini.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "build": { - "arduino":{ - "ldscript": "esp32c3_out.ld" - }, - "core": "esp32", - "extra_flags": "-DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1", - "f_cpu": "160000000L", - "f_flash": "80000000L", - "flash_mode": "qio", - "mcu": "esp32c3", - "variant": "esp32c3" - }, - "connectivity": [ - "wifi" - ], - "debug": { - "openocd_target": "esp32c3.cfg" - }, - "frameworks": [ - "arduino", - "espidf" - ], - "name": "Espressif ESP32-C3-MINI", - "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/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html", - "vendor": "Espressif" -} diff --git a/boards/esp32-c6-devkitc-1.json b/boards/esp32-c6-devkitc-1.json new file mode 100644 index 000000000..6e90aee03 --- /dev/null +++ b/boards/esp32-c6-devkitc-1.json @@ -0,0 +1,25 @@ +{ + "build": { + "core": "esp32", + "f_cpu": "160000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "mcu": "esp32c6" + }, + "connectivity": [ + "wifi" + ], + "frameworks": [ + "espidf" + ], + "name": "Espressif ESP32-C6-DevKitC-1", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 524288, + "maximum_size": 8388608, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html", + "vendor": "Espressif" +} diff --git a/boards/esp32-s2-usb.json b/boards/esp32-s2-usb.json deleted file mode 100644 index 9ef92b3e2..000000000 --- a/boards/esp32-s2-usb.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "build": { - "arduino":{ - "ldscript": "esp32s2_out.ld" - }, - "core": "esp32", - "extra_flags": "-DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1", - "f_cpu": "240000000L", - "f_flash": "80000000L", - "flash_mode": "qio", - "mcu": "esp32s2", - "variant": "adafruit_qtpy_esp32s2" - }, - "connectivity": [ - "wifi" - ], - "debug": { - "openocd_target": "esp32s2.cfg" - }, - "frameworks": [ - "arduino", - "espidf" - ], - "name": "Adafruit QT Py ESP32-S2", - "upload": { - "flash_size": "4MB", - "maximum_ram_size": 327680, - "maximum_size": 4194304, - "require_upload_port": true, - "speed": 921600 - }, - "url": "https://www.adafruit.com/product/5325", - "vendor": "Adafruit" -} diff --git a/boards/esp32-s3-usb.json b/boards/esp32-s3-usb.json deleted file mode 100644 index 68153b8f6..000000000 --- a/boards/esp32-s3-usb.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "build": { - "arduino":{ - "ldscript": "esp32s3_out.ld" - }, - "core": "esp32", - "extra_flags": "-DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0", - "f_cpu": "240000000L", - "f_flash": "80000000L", - "flash_mode": "qio", - "mcu": "esp32s3", - "variant": "esp32s3" - }, - "connectivity": [ - "wifi" - ], - "debug": { - "openocd_target": "esp32s3.cfg" - }, - "frameworks": [ - "arduino", - "espidf" - ], - "name": "Espressif ESP32-S3-DevKitC-1", - "upload": { - "flash_size": "8MB", - "maximum_ram_size": 524288, - "maximum_size": 8388608, - "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/lolin_s2_mini.json b/boards/lolin_s2_mini.json index 3fe4f7122..59832f8cb 100644 --- a/boards/lolin_s2_mini.json +++ b/boards/lolin_s2_mini.json @@ -25,7 +25,7 @@ "wifi" ], "debug": { - "openocd_board": "esp32s2.cfg" + "openocd_target": "esp32s2.cfg" }, "frameworks": [ "arduino", diff --git a/boards/lolin_s2_pico.json b/boards/lolin_s2_pico.json index dab2b7ec0..0214a0eea 100644 --- a/boards/lolin_s2_pico.json +++ b/boards/lolin_s2_pico.json @@ -25,7 +25,7 @@ "wifi" ], "debug": { - "openocd_board": "esp32s2.cfg" + "openocd_target": "esp32s2.cfg" }, "frameworks": [ "arduino", diff --git a/boards/lolin_s3_mini.json b/boards/lolin_s3_mini.json new file mode 100644 index 000000000..ad3794bcb --- /dev/null +++ b/boards/lolin_s3_mini.json @@ -0,0 +1,46 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "memory_type": "qio_qspi" + }, + "core": "esp32", + "extra_flags": [ + "-DBOARD_HAS_PSRAM", + "-DARDUINO_LOLIN_S3_MINI", + "-DARDUINO_USB_MODE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x303A", + "0x8167" + ] + ], + "mcu": "esp32s3", + "variant": "lolin_s3_mini" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "WEMOS LOLIN S3 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/s3/index.html", + "vendor": "WEMOS" +} + \ No newline at end of file diff --git a/boards/m5stack-cores3.json b/boards/m5stack-cores3.json new file mode 100644 index 000000000..72571e0b7 --- /dev/null +++ b/boards/m5stack-cores3.json @@ -0,0 +1,46 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "partitions": "default_16MB.csv" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_M5STACK_CORES3", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x303A", + "0x8119" + ] + ], + "mcu": "esp32s3", + "variant": "m5stack_cores3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "M5Stack CoreS3", + "upload": { + "flash_size": "16MB", + "maximum_ram_size": 327680, + "maximum_size": 16777216, + "require_upload_port": true, + "speed": 921600 + }, + "url": "https://docs.m5stack.com/en/core/CoreS3", + "vendor": "M5Stack" +} diff --git a/boards/m5stack-atoms3 b/boards/m5stack-stamps3.json similarity index 83% rename from boards/m5stack-atoms3 rename to boards/m5stack-stamps3.json index f5e87d3ab..6c92e3b5d 100644 --- a/boards/m5stack-atoms3 +++ b/boards/m5stack-stamps3.json @@ -6,7 +6,7 @@ }, "core": "esp32", "extra_flags": [ - "-DARDUINO_M5Stack_ATOMS3", + "-DARDUINO_M5Stack_StampS3", "-DARDUINO_USB_MODE=1", "-DARDUINO_RUNNING_CORE=1", "-DARDUINO_EVENT_RUNNING_CORE=1" @@ -21,7 +21,7 @@ ] ], "mcu": "esp32s3", - "variant": "m5stack_atoms3" + "variant": "m5stack_stamp_s3" }, "connectivity": [ "wifi" @@ -33,7 +33,7 @@ "arduino", "espidf" ], - "name": "M5Stack AtomS3", + "name": "M5Stack StampS3", "upload": { "flash_size": "8MB", "maximum_ram_size": 327680, @@ -41,6 +41,6 @@ "require_upload_port": true, "speed": 460800 }, - "url": "https://docs.m5stack.com/en/core/AtomS3", + "url": "https://docs.m5stack.com/en/core/StampS3", "vendor": "M5Stack" } diff --git a/boards/m5stamp-pico.json b/boards/m5stamp-pico.json new file mode 100644 index 000000000..8f39fe5ce --- /dev/null +++ b/boards/m5stamp-pico.json @@ -0,0 +1,34 @@ +{ + "build": { + "arduino":{ + "ldscript": "esp32_out.ld" + }, + "core": "esp32", + "extra_flags": "-DARDUINO_M5Stamp_Pico", + "f_cpu": "240000000L", + "f_flash": "40000000L", + "flash_mode": "dio", + "mcu": "esp32", + "variant": "m5stack_stamp_pico" + }, + "connectivity": [ + "wifi", + "bluetooth", + "ethernet", + "can" + ], + "frameworks": [ + "arduino", + "espidf" + ], + "name": "M5Stamp-Pico", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 1500000 + }, + "url": "https://shop.m5stack.com/products/m5stamp-pico-mate-with-pin-headers", + "vendor": "M5Stack" +} diff --git a/boards/nebulas3.json b/boards/nebulas3.json new file mode 100644 index 000000000..dc6236494 --- /dev/null +++ b/boards/nebulas3.json @@ -0,0 +1,47 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "memory_type": "qio_opi" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_NEBULAS3", + "-DARDUINO_USB_MODE=1", + "-DARDUINO_RUNNING_CORE=1", + "-DARDUINO_EVENT_RUNNING_CORE=1", + "-DARDUINO_USB_CDC_ON_BOOT=1" + ], + "f_cpu": "240000000L", + "f_flash": "80000000L", + "flash_mode": "qio", + "hwids": [ + [ + "0x303A", + "0x1001" + ] + ], + "mcu": "esp32s3", + "variant": "Nebula_S3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Kinetic Dynamics Nebula S3", + "upload": { + "flash_size": "4MB", + "maximum_ram_size": 327680, + "maximum_size": 4194304, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://kineticdynamics.in/product/nebula-s3/", + "vendor": "Kinetic Dynamics" +} diff --git a/boards/seeed_xiao_esp32c3.json b/boards/seeed_xiao_esp32c3.json index 9f9c7b0de..24b167120 100644 --- a/boards/seeed_xiao_esp32c3.json +++ b/boards/seeed_xiao_esp32c3.json @@ -15,7 +15,7 @@ "hwids": [ [ "0x2886", - "0x0047" + "0x0046" ], [ "0x303a", diff --git a/boards/seeed_xiao_esp32s3.json b/boards/seeed_xiao_esp32s3.json new file mode 100644 index 000000000..cf98a6aa4 --- /dev/null +++ b/boards/seeed_xiao_esp32s3.json @@ -0,0 +1,53 @@ +{ + "build": { + "arduino": { + "ldscript": "esp32s3_out.ld", + "partitions": "default_8MB.csv", + "memory_type": "qio_opi" + }, + "core": "esp32", + "extra_flags": [ + "-DARDUINO_XIAO_ESP32S3", + "-DBOARD_HAS_PSRAM", + "-DARDUINO_USB_MODE=1", + "-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": [ + [ + "0x2886", + "0x0056" + ], + [ + "0x2886", + "0x8056" + ] + ], + "mcu": "esp32s3", + "variant": "XIAO_ESP32S3" + }, + "connectivity": [ + "wifi" + ], + "debug": { + "openocd_target": "esp32s3.cfg" + }, + "frameworks": [ + "arduino", + "espidf" + ], + "name": "Seeed Studio XIAO ESP32S3", + "upload": { + "flash_size": "8MB", + "maximum_ram_size": 327680, + "maximum_size": 8388608, + "require_upload_port": true, + "speed": 460800 + }, + "url": "https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html", + "vendor": "Seeed Studio" +} diff --git a/builder/frameworks/espidf.py b/builder/frameworks/espidf.py index c10faa228..ab4dafb09 100644 --- a/builder/frameworks/espidf.py +++ b/builder/frameworks/espidf.py @@ -624,6 +624,7 @@ def prepare_build_envs(config, default_env, debug_allowed=True): defines = extract_defines(cg) compile_commands = cg.get("compileCommandFragments", []) build_env = default_env.Clone() + build_env.SetOption("implicit_cache", 1) for cc in compile_commands: build_flags = cc.get("fragment") if not build_flags.startswith("-D"): diff --git a/builder/main.py b/builder/main.py index 6b3eec78d..b01ca6b63 100644 --- a/builder/main.py +++ b/builder/main.py @@ -438,6 +438,28 @@ def __fetch_fs_size(target, source, env): env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE") ] +elif upload_protocol == "dfu": + # C:\Users\ROOT\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.11.0-arduino5/dfu-util --device 0x2341:0x0070 -D C:\Users\ROOT\AppData\Local\Temp\arduino_build_789426/sketch_jul31a.ino.bin -Q + + hwids = board.get("build.hwids", [["0x2341", "0x0070"]]) + vid = hwids[0][0] + pid = hwids[0][1] + + upload_actions = [env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE")] + + env.Replace( + UPLOADER=join( + platform.get_package_dir("tool-dfuutil-arduino") or "", "dfu-util" + ), + UPLOADERFLAGS=[ + "-d", + ",".join(["%s:%s" % (hwid[0], hwid[1]) for hwid in hwids]), + "-Q", + "-D" + ], + UPLOADCMD='"$UPLOADER" $UPLOADERFLAGS "$SOURCE"', + ) + elif upload_protocol in debug_tools: _parse_partitions(env) diff --git a/platform.json b/platform.json index 593a75bcf..73fdd6584 100644 --- a/platform.json +++ b/platform.json @@ -18,7 +18,7 @@ "type": "git", "url": "https://github.com/tasmota/platform-espressif32.git" }, - "version": "2023.07.00", + "version": "2023.08.00", "frameworks": { "arduino": { "script": "builder/frameworks/arduino.py" @@ -33,25 +33,25 @@ "type": "framework", "optional": true, "owner": "tasmota", - "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11/framework-arduinoespressif32.zip" + "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11.20230809/framework-arduinoespressif32.zip" }, "framework-arduino-solo1": { "type": "framework", "optional": true, "owner": "tasmota", - "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11/framework-arduinoespressif32-solo1.zip" + "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11.20230809/framework-arduinoespressif32-solo1.zip" }, "framework-arduino-ITEAD": { "type": "framework", "optional": true, "owner": "tasmota", - "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11/framework-arduinoespressif32-ITEAD.zip" + "version": "https://github.com/tasmota/arduino-esp32/releases/download/2.0.11.20230809/framework-arduinoespressif32-ITEAD.zip" }, "framework-espidf": { "type": "framework", "optional": true, "owner": "tasmota", - "version": "https://github.com/tasmota/esp-idf/releases/download/v4.4.5.20230614/esp-idf-v4.4.5.zip" + "version": "https://github.com/tasmota/esp-idf/releases/download/v4.4.5.20230722/esp-idf-v4.4.5.20230722.zip" }, "toolchain-xtensa-esp32": { "type": "toolchain", @@ -88,6 +88,12 @@ "owner": "tasmota", "version": "https://github.com/tasmota/esptool/releases/download/v4.6.2/esptool-4.6.2.zip" }, + "tool-dfuutil-arduino": { + "type": "uploader", + "optional": true, + "owner": "platformio", + "version": "~1.11.0" + }, "tool-openocd-esp32": { "type": "debugger", "optional": true, diff --git a/platform.py b/platform.py index 3226e326b..86966c116 100644 --- a/platform.py +++ b/platform.py @@ -57,6 +57,12 @@ def configure_default_packages(self, variables, targets): if os.path.isdir("ulp"): self.packages["toolchain-esp32ulp"]["optional"] = False + # Currently only Arduino Nano ESP32 uses the dfuutil tool as uploader + if variables.get("board") == "arduino_nano_esp32": + self.packages["tool-dfuutil-arduino"]["optional"] = False + else: + del self.packages["tool-dfuutil-arduino"] + if "espidf" in frameworks: # Common packages for IDF and mixed Arduino+IDF projects self.packages["toolchain-esp32ulp"]["optional"] = False @@ -185,6 +191,10 @@ def _add_dynamic_options(self, board): "default": link == debug.get("default_tool"), } + # Avoid erasing Arduino Nano bootloader by preloading app binary + if board.id == "arduino_nano_esp32": + debug["tools"][link]["load_cmds"] = "preload" + board.manifest["debug"] = debug return board