Update Arduino core to v2.0.11
- Added several new boards (including Nano ESP32) // Resolves #1162 - Added DFU upload method via dfu-util for the new Arduino Nano ESP32 - Updated IDF version to v4.4.5 for mixed Arduino/IDF projects
This commit is contained in:
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"build": {
|
||||
"arduino": {
|
||||
"ldscript": "esp32s3_out.ld",
|
||||
"partitions": "app3M_fat9M_16MB.csv",
|
||||
"memory_type": "qio_opi"
|
||||
},
|
||||
"core": "esp32",
|
||||
"extra_flags": [
|
||||
"-DARDUINO_DFROBOT_ROMEO_ESP32S3",
|
||||
"-DARDUINO_USB_MODE=1",
|
||||
"-DARDUINO_RUNNING_CORE=1",
|
||||
"-DARDUINO_EVENT_RUNNING_CORE=1"
|
||||
],
|
||||
"f_cpu": "240000000L",
|
||||
"f_flash": "80000000L",
|
||||
"flash_mode": "qio",
|
||||
"hwids": [
|
||||
[
|
||||
"0x303A",
|
||||
"0x1001"
|
||||
]
|
||||
],
|
||||
"mcu": "esp32s3",
|
||||
"variant": "dfrobot_romeo_esp32s3"
|
||||
},
|
||||
"connectivity": [
|
||||
"wifi"
|
||||
],
|
||||
"debug": {
|
||||
"openocd_target": "esp32s3.cfg"
|
||||
},
|
||||
"frameworks": [
|
||||
"arduino",
|
||||
"espidf"
|
||||
],
|
||||
"name": "DFRobot Romeo ESP32-S3",
|
||||
"upload": {
|
||||
"flash_size": "16MB",
|
||||
"maximum_ram_size": 327680,
|
||||
"maximum_size": 16777216,
|
||||
"require_upload_port": true,
|
||||
"speed": 460800
|
||||
},
|
||||
"url": "https://wiki.dfrobot.com/",
|
||||
"vendor": "DFRobot"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -460,6 +460,28 @@ elif upload_protocol == "mbctool":
|
||||
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:
|
||||
openocd_args = ["-d%d" % (2 if int(ARGUMENTS.get("PIOVERBOSE", 0)) else 1)]
|
||||
|
||||
+8
-2
@@ -67,7 +67,7 @@
|
||||
"type": "framework",
|
||||
"optional": true,
|
||||
"owner": "platformio",
|
||||
"version": "~3.20009.0"
|
||||
"version": "~3.20011.0"
|
||||
},
|
||||
"framework-arduino-mbcwb": {
|
||||
"type": "framework",
|
||||
@@ -80,7 +80,7 @@
|
||||
"optional": true,
|
||||
"owner": "platformio",
|
||||
"version": "~3.50002.0",
|
||||
"optionalVersions": ["~3.40404.0"]
|
||||
"optionalVersions": ["~3.40405.0"]
|
||||
},
|
||||
"tool-esptoolpy": {
|
||||
"type": "uploader",
|
||||
@@ -92,6 +92,12 @@
|
||||
"owner": "meteca",
|
||||
"version": ">=2.0.0"
|
||||
},
|
||||
"tool-dfuutil-arduino": {
|
||||
"type": "uploader",
|
||||
"optional": true,
|
||||
"owner": "platformio",
|
||||
"version": "~1.11.0"
|
||||
},
|
||||
"tool-openocd-esp32": {
|
||||
"type": "debugger",
|
||||
"optional": true,
|
||||
|
||||
+11
-1
@@ -46,6 +46,12 @@ class Espressif32Platform(PlatformBase):
|
||||
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"]
|
||||
|
||||
build_core = variables.get(
|
||||
"board_build.core", board_config.get("build.core", "arduino")
|
||||
).lower()
|
||||
@@ -96,7 +102,7 @@ class Espressif32Platform(PlatformBase):
|
||||
|
||||
if "arduino" in frameworks:
|
||||
# Downgrade the IDF version for mixed Arduino+IDF projects
|
||||
self.packages["framework-espidf"]["version"] = "~3.40404.0"
|
||||
self.packages["framework-espidf"]["version"] = "~3.40405.0"
|
||||
else:
|
||||
# Use the latest toolchains available for IDF v5.0
|
||||
for target in (
|
||||
@@ -247,6 +253,10 @@ class Espressif32Platform(PlatformBase):
|
||||
"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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user