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](https://savannah.nongnu.org/projects/avrdude) but is also made available in many *nix operating system's package managers. ## Build Targets: The following targets are supported by this module:
avrdude-lfuse Program the device low fuse. Requires AVRDUDE_LFUSE variable set.
avrdude-hfuse Program the device high fuse. Requires AVRDUDE_HFUSE variable set.
avrdude-efuse Program the device extended fuse. Requires AVRDUDE_EFUSE variable set.
avrdude-lock Program the device lock bits. Requires AVRDUDE_LOCK variable set.
avrdude-fuses Program the device fuses (lfuse, hfuse, efuse, lock bits).
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.
avrdude-all Same as avrdude + avrdude-fuses.
avrdude-all-ee Same as avrdude + avrdude-ee + avrdude-fuses.
## 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`.
AVRDUDE_BAUD Baud rate to use when executing the `avrdude` target (e.g. '115200` for an Optiboot device). Default is empty.
AVRDUDE_HFUSE Fuse setting to use when executing the `avrdude-hfuse` target (format: 0x??). Default is empty.
AVRDUDE_EFUSE Fuse setting to use when executing the `avrdude-efuse` target (format: 0x??). Default is empty.
AVRDUDE_LFUSE Fuse setting to use when executing the `avrdude-lfuse` target (format: 0x??). Default is empty.
AVRDUDE_LOCK Bit bits setting to use when executing the `avrdude-lock` target (format: 0x??). Default is empty.
## 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.