- Check advanced extra scripting and custom upload tool: Redirecting...
You need to create extra script that defines new target. Let’s name it as uploadboot
:
extra_script.py
Import("env")
env.Replace(
SETFUSECMD='$UPLOADER $UPLOADERFLAGS -P $UPLOAD_PORT -b $UPLOAD_SPEED -Ulock:w:0xFF:m -Uefuse:w:0xFF:m -Uhfuse:w:0xD7:m -Ulfuse:w:0xE2:m',
UPLOADBOOTCMD='$UPLOADER $UPLOADERFLAGS -P $UPLOAD_PORT -b $UPLOAD_SPEED -Uflash:w:$SOURCES:i -Ulock:w:0xFF:m'
)
bootloader_path = "/Users/antonkluev/Library/Arduino15/packages/ATTinyCore/hardware/avr/1.1.1/bootloaders/empty/empty_all.hex"
uploadboot = env.Alias(
"uploadboot", bootloader_path,
[env.VerboseAction(env.AutodetectUploadPort, "Looking for upload port..."),
env.VerboseAction("$SETFUSECMD", "Setting fuses"),
env.VerboseAction("$UPLOADBOOTCMD", "Uploading bootloader $SOURCE")])
AlwaysBuild(uploadboot)
platformio.ini
[env:burn_boot]
platform = atmelavr
framework = arduino
board = <BOARD_ID>
upload_speed = 19200
extra_scripts = extra_script.py
Burn bootloder
pio run -t uploadboot