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:
+11
-8
@@ -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"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user