env.VerboseAction(BeforeUpload, "Looking for upload port..."), env.VerboseAction("$UPLOADCMD", "Uploading $SOURCE"), ] env.AddPlatformTarget("upload", target_firm, upload_actions, "Upload") # # Target: Upload EEPROM data (from EEMEM directive) # env.AddPlatformTarget( "uploadeep", join("$BUILD_DIR", "${PROGNAME}.eep") if "nobuild" in COMMAND_LINE_TARGETS else env.ElfToEep(target_elf), [ env.VerboseAction(BeforeUpload, "Looking for upload port..."), env.VerboseAction("$UPLOADEEPCMD", "Uploading $SOURCE"), ], "Upload EEPROM", ) # # Deprecated target: Upload firmware using external programmer # if "program" in COMMAND_LINE_TARGETS: sys.stderr.write( "Error: The `program` target is deprecated. To use a programmer for uploading " "firmware specify custom `upload_command`.\n"
# Target: Upload by default .hex file # target_upload = env.Alias("upload", target_firm, [ env.VerboseAction(BeforeUpload, "Looking for upload port..."), env.VerboseAction("$UPLOADHEXCMD", "Uploading $SOURCE") ]) AlwaysBuild(target_upload) # # Target: Upload EEPROM data (from EEMEM directive) # target_uploadeep = env.Alias( "uploadeep", join("$BUILD_DIR", "${PROGNAME}.eep") if "nobuild" in COMMAND_LINE_TARGETS else env.ElfToEep(target_elf), [ env.VerboseAction(BeforeUpload, "Looking for upload port..."), env.VerboseAction("$UPLOADEEPCMD", "Uploading $SOURCE") ]) AlwaysBuild(target_uploadeep) # # Target: Upload firmware using external programmer # target_program = env.Alias("program", target_firm, [ env.VerboseAction(BeforeUpload, "Looking for upload port..."), env.VerboseAction("$PROGRAMHEXCMD", "Programming $SOURCE") ]) AlwaysBuild(target_program)
], UPLOADHEXCMD='"$UPLOADER" $UPLOADERFLAGS -U flash:w:$SOURCES:i', UPLOADEEPCMD='"$UPLOADER" $UPLOADERFLAGS -U eeprom:w:$SOURCES:i') # # Target: Build executable and linkable firmware # target_elf = env.BuildFirmware() # # Target: Extract EEPROM data (from EEMEM directive) to .eep file # target_eep = env.Alias( "eep", env.ElfToEep(join("$BUILD_DIR", "firmware"), target_elf)) # # Target: Build the .hex file # if "uploadlazy" in COMMAND_LINE_TARGETS: target_firm = join("$BUILD_DIR", "firmware.hex") else: target_firm = env.ElfToHex(join("$BUILD_DIR", "firmware"), target_elf) # # Target: Print binary size # target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")