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-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. 'applicationfor an XMEGA device). Default is
flash.</td>
</tr>
<td>AVRDUDE_BAUD</td>
<td>Baud rate to use when executing the
avrdudetarget (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.