1DFU-PROGRAMMER(1) DFU-PROGRAMMER(1)
2
3
4
6 dfu-programmer - USB firmware upgrading for Atmel microcontrollers
7
9 dfu-programmer target command [options] [parameters]
10
12 dfu-programmer is a Linux command line Device Firmware Upgrade (DFU)
13 based programmer for the flash memory on Atmel AVR and 8051 based
14 microcontrollers which ship with a USB boot loader. It supports In
15 System Programming (ISP) for developers and potentially product updates
16 in the field. Those boot loaders are patterned after the standard USB
17 DFU 1.0 class specification, but depend on extensions defined by Atmel
18 to the extent that standard DFU drivers will not work.
19
20 To use it, first connect the device to be programmed and ensure that it
21 comes up in DFU mode. The microcontrollers come up in that mode as
22 shipped by Atmel; or they may reenter that mode after a special
23 hardware reset. Then invoke this program to issue one or more DFU
24 commands. You will normally need to start by issuing the "erase"
25 command; the default security policies prevent extracting firmware, to
26 prevent reverse engineering of what is usually proprietary code.
27
29 These chip names are used as the command line "target" parameter.
30
31 8051 based controllers:
32 at89c51snd1c, at89c5130, at89c5131, and at89c5132.
33
34 AVR based controllers:
35 at90usb1287, at90usb1286, at90usb162, at90usb647, at90usb646 and
36 at90usb82.
37
39 There are no mechanisms for selecting which single device should be
40 programmed, or to implement gang programming. Accordingly, you will
41 usually avoid connecting more than one device of a given family (AVR or
42 8051) at a time.
43
44 All of these commands support the "global options". Unless you
45 override it, commands which write to the microcontroller will perform a
46 validation step that rereads the data which was written, compares it to
47 the expected result, and reports any errors.
48
49 configure register [--suppress-validation] data
50 Bootloaders for 8051 based controllers support writing certain
51 configuration bytes.
52
53 dump
54 Reads all the available flash memory, and writes it as binary
55 data to stdout.
56
57 erase [--suppress-validation]
58 Erases all the flash memory. This is required before the
59 bootloader will perform other commands.
60
61 flash [--suppress-validation] file
62 Writes flash memory. The input file must use the "ihex" file
63 format convention for a memory image.
64
65 get register
66 Displays various product identifier bytes.
67
68 reset
69 Resets microcontroller using watchdog timer
70
71 start
72 Starts the application firmware by having the microcontroller
73 jump to address zero.
74
75 version
76 This prints a string identifying the version of this utility.
77
78 Global Options
79 --quiet - minimizes the output
80
81 --debug level - enables verbose output at the specified level
82
83 Configure Registers
84 The standard bootloader for 8051 based chips supports writing data
85 bytes which are not relevant for the AVR based chips.
86
87 BSB - boot status byte
88 SBV - software boot vector
89 SSB - software security byte
90 EB - extra byte
91 HSB - hardware security byte
92
93 Get Register
94 bootloader-version - currently flashed bootloader version
95 ID1 - device boot identification 1
96 ID2 - device boot identification 2
97 manufacturer - the hardware manufacturer code
98 family - the product family code
99 product-name - the product name
100 product-revision - the product revision
101 HSB - same as the configure_register version
102 BSB - same as the configure_register version
103 SBV - same as the configure_register version
104 SSB - same as the configure_register version
105 EB - same as the configure_register version
106
108 None known.
109
111 The at90usb series chips do not make available any read/write protect
112 flags so the dump or flash command may fail with a less than helpful
113 error message.
114
115 To remove any write or read protection from any chips, a full chip
116 erasure is required.
117
119 Weston Schmidt <weston_schmidt@alumni.purdue.edu>
120
122 http://dfu-programmer.sourceforge.net
123
125 Copyright (C) 2005, 2006 Weston Schmidt
126
127 This program is free software; you can redistribute it and/or modify it
128 under the terms of the GNU General Public License as published by the
129 Free Software Foundation; either version 2 of the License, or (at your
130 option) any later version.
131
132 This program is distributed in the hope that it will be useful, but
133 WITHOUT ANY WARRANTY; without even the implied warranty of
134 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
135 General Public License for more details.
136
137 You should have received a copy of the GNU General Public License along
138 with this program; if not, write to the Free Software Foundation, Inc.,
139 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
140
141
142
143DFU-PROGRAMMER April 25, 2007 DFU-PROGRAMMER(1)