qmk_firmware/lib/lufa/LUFA/Build/DMBS/DMBS/avrdude.md

3.2 KiB

DMBS - Dean's Makefile Build System

Module: AVRDUDE

The AVRDUDE module provides build targets for use with the official open source AVRDUDE programmer utility, for the reprogramming of Atmel devices using a wide variety of official and non-official programming devices and bootloaders.

Importing This Module into a Makefile:

To use this module in your application makefile, add the following code to your makefile:

include $(DMBS_PATH)/avrdude.mk

Prerequisites:

This module requires the avrdude utility to be available in your system's PATH variable. The avrdude utility is distributed on the project's official site but is also made available in many *nix operating system's package managers.

Build Targets:

The following targets are supported by this module:

avrdude Program the device FLASH memory with the application's executable data.
avrdude-ee Program the device EEPROM memory with the application's EEPROM data.

Mandatory Variables:

The following variables must be defined (with a NAME = VALUE syntax, one variable per line) in the user makefile to be able to use this module:

MCU Name of the Atmel processor model (e.g. `at90usb1287`).
TARGET Name of the application output file prefix (e.g. `TestApplication`).

Optional Variables:

The following variables may be defined (with a NAME = VALUE syntax, one variable per line) in the user makefile. If not specified, a default value will be assumed.

AVRDUDE_PROGRAMMER Name of the programmer/debugger tool or bootloader to communicate with (e.g. `jtagicemkii`). Default is `jtagicemkii`.
AVRDUDE_PORT Name of the communication port to use when when programming with a serially connected tool (e.g. `COM2`). Default is `usb`.
AVRDUDE_FLAGS Additional flags to pass to `avrdude` when invoking the tool. Default is empty (no additional flags).
AVRDUDE_MEMORY Memory space to program when executing the `avrdude` target (e.g. 'application` for an XMEGA device). Default is `flash`.

Provided Variables:

The following variables may be referenced in a user makefile (via $(NAME) syntax) if desired, as they are provided by this module.

N/A This module provides no variables.

Provided Macros:

The following macros may be referenced in a user makefile (via $(call NAME, ARG1, ARG2, ...) syntax) if desired, as they are provided by this module.

N/A This module provides no macros.

Module Changelog:

The changes to this module since its initial release are listed below, as of the DMBS version where the change was made.

20160403

Initial release.