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). Requires AVRDUDE_LFUSE, AVRDUDE_HFUSE and AVRDUDE_LOCK variable set. AVRDUDE_EFUSE is optional. |
| 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. |
| MCU | Name of the Atmel processor model (e.g. `at90usb1287`). |
| TARGET | Name of the application output file prefix (e.g. `TestApplication`). |
| AVRDUDE_MCU | Override the `MCU` variable for `avrdude`. On some controllers, `avrdude` expects another spelling than the compiler needs. Default is `MCU`. |
| 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_BITCLK | ISP bit clock period in microseconds to use when executing the `avrdude` target (format: float). Must be minimum 4x longer than MCU clock period. Default is 1 us. |
| 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. |
| N/A | This module provides no variables. |
| N/A | This module provides no macros. |