]> git.donarmstrong.com Git - qmk_firmware.git/blob - protocol/lufa/LUFA-120730/LUFA/DoxygenPages/ProgrammingApps.txt
Change TOP_DIR to TMK_DIR in makefiles
[qmk_firmware.git] / protocol / lufa / LUFA-120730 / LUFA / DoxygenPages / ProgrammingApps.txt
1 /** \file\r
2  *\r
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
5  */\r
6 \r
7 /** \page Page_ProgrammingApps Programming an Application into a USB AVR\r
8  *\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
14  *\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
23  *\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
27  *\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
30  */\r