Arduino 3.1.x based on IDF 5.3.x (#74)

* IDF 5.3 support

* IDF 5.3

* IDF 5.3 toolchains

remove dynamic toolchains support, currently only older incompatible are possible to fetch.

* Fix owner of

* ULP compability for IDF 5.3

* remove debug print

* Fix bootloader offset code retrieve

* Update esp32-c6-devkitc-1.json

* use espressif Arduino branch `release/v3.1.x`

* Update README.md

* Update README.md

* Fix compile issue with managed components

* use latest Arduino 3.1.0 libs

* fetch Arduino libs dl URL from manifest json

* fetch Arduino libs dl URL from manifest json

* Update README.md

* Fix IDF 5.3 ULP compile

* Use espressif Arduino branch release/v3.1.x

* Update platform.py

* better handling of complex Macros from cmake model

* IDF 5.3.1 release

* fix handling of cc fragments

* unchanged IDF 5.3.1

* ULP has now a cmake build script

* add arduino/idf examples

* fix used platform

* prepare LP ULP support

* enable bootloader components build

* ULP LP support

* add missing P4

* add P4

* change some if checks

* Update README.md

* remove wrong left over code

* add ULP LP example / update Matter example

* fix path

* add zigbee examples

* disable zigbee examples

needs merge of the open zigbee Arduino PR

* esptool.py v4.8.0

* add cmake_utilities for C2

* add auto select "espidf" when pio var "custom_sdkconfig" is set

* IDF v5.3.1.240924

* Update main.py

* matter example currently broken

* Update platformio.ini

* Update platformio.ini

* Update platformio.ini

* Update platformio.ini

* Update examples.yml

* IDF v5.3.1.241016

* Update Zigbee_On_Off_Light.ino

* Update Zigbee_On_Off_Switch.ino

* Update examples.yml

* Update platformio.ini

* Update platformio.ini

* Update examples.yml

* esptool.py v4.8.1.1

s2 s3 usb jtag reset fix

* Update platform.py

* Update gdb 14.2.0+20240403

* fix owner for gdb

* Update IDF v5.3.1.241024

* Update adafruit_matrixportal_esp32s3.json

* Use compatible h2zero NimBLE git commit

* Update Zigbee_On_Off_Light.ino

* Update Zigbee_On_Off_Switch.ino

* fix custom partiton table offset calculation

* Update README.md

* Create esp32-p4.json

* add P4 to blink example

* Update Zigbee_On_Off_Switch.ino

* Update Zigbee_On_Off_Light.ino

* Update sdkconfig.defaults

* add P4 to LP example

* Create esp32-p4-evboard.json

* IDF 5.3.2 release

* prep for "pioarduino-build.py" script

* add missing import os

* fix not defined var

* Update Zigbee_On_Off_Switch.ino

* esptool.py v4.8.5

* Update Zigbee_On_Off_Light.ino

* add Hybrid Compile (#73)

* Update README.md

* set Arduino compile option `UPDATE_NOCRYPT` in example Tasmota

* Update C2 Hybrid compile skeleton

* Update IDF v5.3.2.241210

* Revert to IDF 5.3.2

* Update pioarduino IDF 5.2

* Update release_zips.yml
This commit is contained in:
Jason2866
2024-12-16 21:50:40 +01:00
committed by GitHub
parent a7fb6cdad7
commit e4ac072ea9
24 changed files with 597 additions and 19 deletions
+11 -8
View File
@@ -131,7 +131,7 @@ def _parse_partitions(env):
result = []
next_offset = 0
bound = int(board.get("upload.offset_address", "0x10000"), 16) # default 0x10000
app_offset = int(board.get("upload.offset_address", "0x10000"), 16) # default 0x10000
with open(partitions_csv) as fp:
for line in fp.readlines():
line = line.strip()
@@ -140,23 +140,25 @@ def _parse_partitions(env):
tokens = [t.strip() for t in line.split(",")]
if len(tokens) < 5:
continue
bound = 0x10000 if tokens[1] in ("0", "app") else 4
calculated_offset = (next_offset + bound - 1) & ~(bound - 1)
partition = {
"name": tokens[0],
"type": tokens[1],
"subtype": tokens[2],
"offset": tokens[3] or next_offset,
"offset": tokens[3] or calculated_offset,
"size": tokens[4],
"flags": tokens[5] if len(tokens) > 5 else None
}
result.append(partition)
next_offset = _parse_size(partition["offset"])
if (partition["subtype"] == "ota_0"):
bound = next_offset
next_offset = (next_offset + bound - 1) & ~(bound - 1)
app_offset = next_offset
next_offset = next_offset + _parse_size(partition["size"])
# Configure application partition offset
env.Replace(ESP32_APP_OFFSET=str(hex(bound)))
env.Replace(ESP32_APP_OFFSET=str(hex(app_offset)))
# Propagate application offset to debug configurations
env["INTEGRATION_EXTRA_DATA"].update({"application_offset": str(hex(bound))})
env["INTEGRATION_EXTRA_DATA"].update({"application_offset": str(hex(app_offset))})
return result
@@ -232,7 +234,7 @@ board = env.BoardConfig()
mcu = board.get("build.mcu", "esp32")
toolchain_arch = "xtensa-%s" % mcu
filesystem = board.get("build.filesystem", "spiffs")
if mcu in ("esp32c2", "esp32c3", "esp32c6", "esp32h2"):
if mcu in ("esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32p4"):
toolchain_arch = "riscv32-esp"
if "INTEGRATION_EXTRA_DATA" not in env:
@@ -253,7 +255,7 @@ env.Replace(
GDB=join(
platform.get_package_dir(
"tool-riscv32-esp-elf-gdb"
if mcu in ("esp32c2", "esp32c3", "esp32c6")
if mcu in ("esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32p4")
else "tool-xtensa-esp-elf-gdb"
)
or "",
@@ -298,6 +300,7 @@ env.Replace(
),
ESP32_APP_OFFSET=env.get("INTEGRATION_EXTRA_DATA").get("application_offset"),
ARDUINO_LIB_COMPILE_FLAG="Inactive",
PROGSUFFIX=".elf"
)