Merge pull request #956 from recrof/uf2_pio_task

added custom pio task "Create UF2 file"
This commit is contained in:
fdlamotte
2025-10-17 17:24:32 +02:00
committed by GitHub
2 changed files with 32 additions and 0 deletions

31
create-uf2.py Normal file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/python3
# Adds PlatformIO post-processing to convert hex files to uf2 files
import os
Import("env")
firmware_hex = "${BUILD_DIR}/${PROGNAME}.hex"
uf2_file = os.environ.get("UF2_FILE_PATH", "${BUILD_DIR}/${PROGNAME}.uf2")
def create_uf2_action(source, target, env):
uf2_cmd = " ".join(
[
'"$PYTHONEXE"',
'"$PROJECT_DIR/bin/uf2conv/uf2conv.py"',
'-f', '0xADA52840',
'-c', firmware_hex,
'-o', uf2_file,
]
)
env.Execute(uf2_cmd)
env.AddCustomTarget(
name="create_uf2",
dependencies=firmware_hex,
actions=create_uf2_action,
title="Create UF2 file",
description="Use uf2conv to convert hex binary into uf2",
always_build=True,
)

View File

@@ -76,6 +76,7 @@ platform = https://github.com/pioarduino/platform-espressif32/releases/download/
[nrf52_base]
extends = arduino_base
platform = nordicnrf52
extra_scripts = create-uf2.py
build_flags = ${arduino_base.build_flags}
-D NRF52_PLATFORM
-D LFS_NO_ASSERT=1