create-uf2.py 751 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/python3
  2. # Adds PlatformIO post-processing to convert hex files to uf2 files
  3. import os
  4. Import("env")
  5. firmware_hex = "${BUILD_DIR}/${PROGNAME}.hex"
  6. uf2_file = os.environ.get("UF2_FILE_PATH", "${BUILD_DIR}/${PROGNAME}.uf2")
  7. def create_uf2_action(source, target, env):
  8. uf2_cmd = " ".join(
  9. [
  10. '"$PYTHONEXE"',
  11. '"$PROJECT_DIR/bin/uf2conv/uf2conv.py"',
  12. '-f', '0xADA52840',
  13. '-c', firmware_hex,
  14. '-o', uf2_file,
  15. ]
  16. )
  17. env.Execute(uf2_cmd)
  18. env.AddCustomTarget(
  19. name="create_uf2",
  20. dependencies=firmware_hex,
  21. actions=create_uf2_action,
  22. title="Create UF2 file",
  23. description="Use uf2conv to convert hex binary into uf2",
  24. always_build=True,
  25. )