示例#1
0
        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"
示例#2
0
# 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)
示例#3
0
        ],
        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")