Add support for Arduino core v2.0.3

Resolve #799, resolves #762, resolves #674
This commit is contained in:
Valerii Koval
2022-05-16 13:18:16 +03:00
parent 1059124fa9
commit 9f9f39d8d5
20 changed files with 760 additions and 17 deletions
+42
View File
@@ -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"
}
+62
View File
@@ -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"
}
+42
View File
@@ -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"
}
+62
View File
@@ -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"
}
+41
View File
@@ -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"
}
+44
View File
@@ -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"
}
+48
View File
@@ -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"
}
+48
View File
@@ -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"
}
+8 -4
View File
@@ -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"
}
+44
View File
@@ -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"
}
+46
View File
@@ -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"
}
+56
View File
@@ -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"
}
+48
View File
@@ -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"
}
+46
View File
@@ -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"
}
+48
View File
@@ -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"
}
+38
View File
@@ -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"
}
+7 -2
View File
@@ -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,
+9 -2
View File
@@ -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
+7 -1
View File
@@ -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",
+14 -8
View File
@@ -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",
}