BootloaderDFU.txt 3.04 KB
Newer Older
1 2 3 4 5 6 7
/** \file
 *
 *  This file contains special DoxyGen information for the generation of the main page and other special
 *  documentation pages. It is not a project source file.
 */
 
/** \mainpage DFU Class USB AVR Bootloader
8 9 10 11
 *
 *  \section SSec_Info USB Information:
 *
 *  The following table gives a rundown of the USB utilization of this demo.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
 *
 * <table>
 *  <tr>
 *   <td><b>USB Mode:</b></td>
 *   <td>Device</td>
 *  </tr>
 *  <tr>
 *   <td><b>USB Class:</b></td>
 *   <td>Device Firmware Update Class (DFU)</td>
 *  </tr>
 *  <tr> 
 *   <td><b>USB Subclass:</b></td>
 *   <td>None</td>
 *  </tr>
 *  <tr>
 *   <td><b>Relevant Standards:</b></td>
 *   <td>USBIF DFU Class Standard, Atmel USB Bootloader Datasheet</td>
 *  </tr>
 *  <tr>
 *   <td><b>Usable Speeds:</b></td>
 *   <td>Full Speed Mode</td>
 *  </tr>
 * </table>
35 36 37 38 39 40 41 42 43 44 45 46
 *
 *  \section SSec_Description Project Description: 
 *
 *  This bootloader enumerates to the host as a DFU Class device, allowing for DFU-compatible programming
 *  software to load firmware onto the AVR.
 *  
 *  This bootloader is compatible with Atmel's FLIP application. However, it requires the use of Atmel's
 *  DFU drivers. You will need to install Atmel's DFU drivers prior to using this bootloader.
 *  
 *  As an open-source option, this bootloader is also compatible with the Linux Atmel USB DFU Programmer
 *  software, available for download at http://sourceforge.net/projects/dfu-programmer/.
 *  
47
 *  If SECURE_MODE is defined as true, upon start-up the bootloader will be locked, with only the chip erase
48
 *  function available (similar to Atmel's DFU bootloader). If SECURE_MODE is defined as false, all functions 
49
 *  are usable on start-up without the prerequisite firmware erase.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
 *  
 *  Out of the box this bootloader builds for the USB1287, and should fit into 4KB of bootloader space. If
 *  you wish to enlarge this space and/or change the AVR model, you will need to edit the BOOT_START and MCU
 *  values in the accompanying makefile.
 *  
 *  <b>NOTE:</b> This device spoofs Atmel's DFU Bootloader USB VID and PID so that the Atmel DFU bootloader
 *               drivers included with FLIP will work. If you do not wish to use Atmel's ID codes, please
 *               manually change them in Descriptors.c and alter your driver's INF file accordingly.
 *
 *  \section SSec_Options Project Options
 *
 *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.
 *
 *  <table>
 *   <tr>
 *    <td><b>Define Name:</b></td>
 *    <td><b>Location:</b></td>
 *    <td><b>Description:</b></td>
 *   </tr>
 *   <tr>
 *    <td>SECURE_MODE</td>
 *    <td>BootloaderDFU.h</td>
72 73
 *    <td>If defined to true, the bootloader will not accept any memory commands other than a chip erase on start-up, until an
 *        erase has been performed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from
74 75 76
 *        being dumped by unauthorized persons.</td>
 *   </tr>
 *  </table>
77
 */