BootloaderDFU.txt 3.59 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/** \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
 *
 *  \section SSec_Compat Demo Compatibility:
 *
 *  The following list indicates what microcontrollers are compatible with this demo.
 *
 *  - Series 7 USB AVRs
 *  - Series 6 USB AVRs
 *  - Series 4 USB AVRs
 *  - Series 2 USB AVRs (Excluding the 8KB FLASH variants)
 *
 *  \section SSec_Info USB Information:
 *
 *  The following table gives a rundown of the USB utilization of this demo.
 *
 * <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>
 *
 *  \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. If you are
 *  using a 64 bit Windows OS, you will need to either disable the driver signing requirement (see online
 *  tutorials for details) or use a digitally signed version of the official Atmel driver provided by a
 *  third party AVR user at
 *  <a>http://www.avrfreaks.net/index.php?module=Freaks%20Academy&func=viewItem&item_id=2196&item_type=project</a>.
 *  
 *  As an open-source option, this bootloader is also compatible with the Linux Atmel USB DFU Programmer
 *  software, available for download at <a>http://sourceforge.net/projects/dfu-programmer/</a>.
 *  
 *  If SECURE_MODE is defined as true, upon start-up the bootloader will be locked, with only the chip erase
 *  function available (similar to Atmel's DFU bootloader). If SECURE_MODE is defined as false, all functions 
 *  are usable on start-up without the prerequisite firmware erase.
 *  
 *  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
 *
74
 *  The following defines can be found in this demo, which can control the demo behavior when defined, or changed in value.
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
 *
 *  <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>
 *    <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
 *        being dumped by unauthorized persons.</td>
 *   </tr>
 *  </table>
 */