3 * This file contains special DoxyGen information for the generation of the main page and other special
\r
4 * documentation pages. It is not a project source file.
\r
7 /** \page Page_ProgrammingApps Programming an Application into a USB AVR
\r
9 * Once you have built an application, you will need a way to program in the resulting ".HEX" file (and, if your
\r
10 * application uses EEPROM variables with initial values, also a ".EEP" file) into your USB AVR. Normally, the
\r
11 * reprogramming of an AVR device must be performed using a special piece of programming hardware, through one of the
\r
12 * supported AVR programming protocols - ISP, HVSP, HVPP, JTAG, dW or PDI. This can be done through a custom programmer,
\r
13 * a third party programmer, or an official Atmel AVR tool - for more information, see the <a>atmel.com</a> website.
\r
15 * Alternatively, you can use the bootloader. From the Atmel factory, each USB AVR comes preloaded with the Atmel
\r
16 * DFU (Device Firmware Update) class bootloader, a small piece of AVR firmware which allows the remainder of the
\r
17 * AVR to be programmed through a non-standard interface such as the serial USART port, SPI, or (in this case) USB.
\r
18 * Bootloaders have the advantage of not requiring any special hardware for programming, and cannot usually be erased
\r
19 * or broken without an external programming device. They have disadvantages however; they cannot change the fuses of
\r
20 * the AVR (special configuration settings that control the operation of the chip itself) and a small portion of the
\r
21 * AVR's FLASH program memory must be reserved to contain the bootloader firmware, and thus cannot be used by the
\r
22 * loaded application.
\r
24 * If you wish to use the DFU bootloader to program in your application, refer to your DFU programmer's documentation.
\r
25 * Atmel provides a free utility called FLIP which is USB AVR compatible, and an open source (Linux compatible)
\r
26 * alternative exists called "dfu-programmer".
\r
28 * \see \ref Page_BuildModule_DFU for information on the LUFA build system DFU module, for automatic DFU bootloader
\r
29 * programming makefile targets.
\r