373 lines
16 KiB
HTML
373 lines
16 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<!-- Created on March 16, 2022 by texi2html 5.0
|
||
texi2html was written by:
|
||
Lionel Cons <Lionel.Cons@cern.ch> (original author)
|
||
Karl Berry <karl@freefriends.org>
|
||
Olaf Bachmann <obachman@mathematik.uni-kl.de>
|
||
and many others.
|
||
Maintained by: Many creative people.
|
||
Send bugs and suggestions to <texi2html-bug@nongnu.org>
|
||
-->
|
||
<head>
|
||
<title>AVRDUDE: 2.2 Programmers accepting extended parameters</title>
|
||
|
||
<meta name="description" content="AVRDUDE: 2.2 Programmers accepting extended parameters">
|
||
<meta name="keywords" content="AVRDUDE: 2.2 Programmers accepting extended parameters">
|
||
<meta name="resource-type" content="document">
|
||
<meta name="distribution" content="global">
|
||
<meta name="Generator" content="texi2html 5.0">
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<style type="text/css">
|
||
<!--
|
||
a.summary-letter {text-decoration: none}
|
||
blockquote.smallquotation {font-size: smaller}
|
||
div.display {margin-left: 3.2em}
|
||
div.example {margin-left: 3.2em}
|
||
div.lisp {margin-left: 3.2em}
|
||
div.smalldisplay {margin-left: 3.2em}
|
||
div.smallexample {margin-left: 3.2em}
|
||
div.smalllisp {margin-left: 3.2em}
|
||
pre.display {font-family: serif}
|
||
pre.format {font-family: serif}
|
||
pre.menu-comment {font-family: serif}
|
||
pre.menu-preformatted {font-family: serif}
|
||
pre.smalldisplay {font-family: serif; font-size: smaller}
|
||
pre.smallexample {font-size: smaller}
|
||
pre.smallformat {font-family: serif; font-size: smaller}
|
||
pre.smalllisp {font-size: smaller}
|
||
span.nocodebreak {white-space:pre}
|
||
span.nolinebreak {white-space:pre}
|
||
span.roman {font-family:serif; font-weight:normal}
|
||
span.sansserif {font-family:sans-serif; font-weight:normal}
|
||
ul.no-bullet {list-style: none}
|
||
body { background-color: #ffd; }
|
||
h1 { text-shadow: .05em .05em #ccc; }
|
||
table {
|
||
border: 3px solid #ccf;
|
||
background-color: white;
|
||
}
|
||
div.example {
|
||
background-color: #dfd;
|
||
border: 3px solid #cfc;
|
||
}
|
||
samp {
|
||
color: blue;
|
||
}
|
||
code {
|
||
color: green;
|
||
}
|
||
|
||
-->
|
||
</style>
|
||
|
||
|
||
</head>
|
||
|
||
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
|
||
|
||
<a name="Programmers-accepting-extended-parameters"></a>
|
||
<table class="header" cellpadding="1" cellspacing="1" border="0">
|
||
<tr><td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Beginning of this chapter or previous chapter"> << </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_3.html#Option-Descriptions" title="Previous section in reading order"> < </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Up section"> Up </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_5.html#Example-Command-Line-Invocations" title="Next section in reading order"> > </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_6.html#Terminal-Mode-Operation" title="Next chapter"> >> </a>]</td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left">[<a href="avrdude.html#Introduction" title="Cover (top) of document">Top</a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
|
||
<td valign="middle" align="left">[Index]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
|
||
</tr></table>
|
||
<hr>
|
||
<a name="Programmers-accepting-extended-parameters-1"></a>
|
||
<h2 class="section">2.2 Programmers accepting extended parameters</h2>
|
||
|
||
<dl compact="compact">
|
||
<dt><code>JTAG ICE mkII/3</code></dt>
|
||
<dt><code>AVR Dragon</code></dt>
|
||
<dd>
|
||
<p>When using the JTAG ICE mkII/3 or AVR Dragon in JTAG mode, the
|
||
following extended parameter is accepted:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>jtagchain=UB,UA,BB,BA</samp>’</code></dt>
|
||
<dd><p>Setup the JTAG scan chain for <var>UB</var> units before, <var>UA</var> units
|
||
after, <var>BB</var> bits before, and <var>BA</var> bits after the target AVR,
|
||
respectively.
|
||
Each AVR unit within the chain shifts by 4 bits.
|
||
Other JTAG units might require a different bit shift count.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>AVR910</code></dt>
|
||
<dd>
|
||
<p>The AVR910 programmer type accepts the following extended parameter:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>devcode=VALUE</samp>’</code></dt>
|
||
<dd><p>Override the device code selection by using <var>VALUE</var>
|
||
as the device code.
|
||
The programmer is not queried for the list of supported
|
||
device codes, and the specified <var>VALUE</var>
|
||
is not verified but used directly within the
|
||
<code>T</code> command sent to the programmer.
|
||
<var>VALUE</var> can be specified using the conventional number notation of the
|
||
C programming language.
|
||
</p></dd>
|
||
<dt><code>‘<samp>no_blockmode</samp>’</code></dt>
|
||
<dd><p>Disables the default checking for block transfer capability.
|
||
Use
|
||
‘<samp>no_blockmode</samp>’ only if your ‘<samp>AVR910</samp>’
|
||
programmer creates errors during initial sequence.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>Arduino</code></dt>
|
||
<dd>
|
||
<p>The Arduino programmer type accepts the following extended parameter:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>attemps=VALUE</samp>’</code></dt>
|
||
<dd><p>Overide the default number of connection retry attempt by using <var>VALUE</var>.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>BusPirate</code></dt>
|
||
<dd>
|
||
<p>The BusPirate programmer type accepts the following extended parameters:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>reset=cs,aux,aux2</samp>’</code></dt>
|
||
<dd><p>The default setup assumes the BusPirate’s CS output pin connected to
|
||
the RESET pin on AVR side. It is however possible to have multiple AVRs
|
||
connected to the same BP with MISO, MOSI and SCK lines common for all of them.
|
||
In such a case one AVR should have its RESET connected to BusPirate’s
|
||
<em>CS</em>
|
||
pin, second AVR’s RESET connected to BusPirate’s
|
||
<em>AUX</em>
|
||
pin and if your BusPirate has an
|
||
<em>AUX2</em>
|
||
pin (only available on BusPirate version v1a with firmware 3.0 or newer)
|
||
use that to activate RESET on the third AVR.
|
||
</p>
|
||
<p>It may be a good idea to decouple the BusPirate and the AVR’s SPI buses from
|
||
each other using a 3-state bus buffer. For example 74HC125 or 74HC244 are some
|
||
good candidates with the latches driven by the appropriate reset pin (cs,
|
||
aux or aux2). Otherwise the SPI traffic in one active circuit may interfere
|
||
with programming the AVR in the other design.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>spifreq=<var>0..7</var></samp>’</code></dt>
|
||
<dd><table>
|
||
<tr><td width="5%"><code>0</code></td><td width="30%">30 kHz (default)</td></tr>
|
||
<tr><td width="5%"><code>1</code></td><td width="30%">125 kHz</td></tr>
|
||
<tr><td width="5%"><code>2</code></td><td width="30%">250 kHz</td></tr>
|
||
<tr><td width="5%"><code>3</code></td><td width="30%">1 MHz</td></tr>
|
||
<tr><td width="5%"><code>4</code></td><td width="30%">2 MHz</td></tr>
|
||
<tr><td width="5%"><code>5</code></td><td width="30%">2.6 MHz</td></tr>
|
||
<tr><td width="5%"><code>6</code></td><td width="30%">4 MHz</td></tr>
|
||
<tr><td width="5%"><code>7</code></td><td width="30%">8 MHz</td></tr>
|
||
</table>
|
||
|
||
</dd>
|
||
<dt><code>‘<samp>rawfreq=0..3</samp>’</code></dt>
|
||
<dd><p>Sets the SPI speed and uses the Bus Pirate’s binary “raw-wire” mode instead
|
||
of the default binary SPI mode:
|
||
</p>
|
||
<table>
|
||
<tr><td width="5%"><code>0</code></td><td width="30%">5 kHz</td></tr>
|
||
<tr><td width="5%"><code>1</code></td><td width="30%">50 kHz</td></tr>
|
||
<tr><td width="5%"><code>2</code></td><td width="30%">100 kHz (Firmware v4.2+ only)</td></tr>
|
||
<tr><td width="5%"><code>3</code></td><td width="30%">400 kHz (v4.2+)</td></tr>
|
||
</table>
|
||
|
||
<p>The only advantage of the “raw-wire” mode is that different SPI frequencies
|
||
are available. Paged writing is not implemented in this mode.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>ascii</samp>’</code></dt>
|
||
<dd><p>Attempt to use ASCII mode even when the firmware supports BinMode (binary
|
||
mode).
|
||
BinMode is supported in firmware 2.7 and newer, older FW’s either don’t
|
||
have BinMode or their BinMode is buggy. ASCII mode is slower and makes
|
||
the above
|
||
‘<samp>reset=</samp>’, ‘<samp>spifreq=</samp>’
|
||
and
|
||
‘<samp>rawfreq=</samp>’
|
||
parameters unavailable. Be aware that ASCII mode is not guaranteed to work
|
||
with newer firmware versions, and is retained only to maintain compatibility
|
||
with older firmware versions.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>nopagedwrite</samp>’</code></dt>
|
||
<dd><p>Firmware versions 5.10 and newer support a binary mode SPI command that enables
|
||
whole pages to be written to AVR flash memory at once, resulting in a
|
||
significant write speed increase. If use of this mode is not desirable for some
|
||
reason, this option disables it.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>nopagedread</samp>’</code></dt>
|
||
<dd><p>Newer firmware versions support in binary mode SPI command some AVR Extended
|
||
Commands. Using the “Bulk Memory Read from Flash” results in a
|
||
significant read speed increase. If use of this mode is not desirable for some
|
||
reason, this option disables it.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>cpufreq=<var>125..4000</var></samp>’</code></dt>
|
||
<dd><p>This sets the <em>AUX</em> pin to output a frequency of <var>n</var> kHz. Connecting
|
||
the <em>AUX</em> pin to the XTAL1 pin of your MCU, you can provide it a clock,
|
||
for example when it needs an external clock because of wrong fuses settings.
|
||
Make sure the CPU frequency is at least four times the SPI frequency.
|
||
</p>
|
||
</dd>
|
||
<dt><code>‘<samp>serial_recv_timeout=<var>1...</var></samp>’</code></dt>
|
||
<dd><p>This sets the serial receive timeout to the given value.
|
||
The timeout happens every time avrdude waits for the BusPirate prompt.
|
||
Especially in ascii mode this happens very often, so setting a smaller value
|
||
can speed up programming a lot.
|
||
The default value is 100ms. Using 10ms might work in most cases.
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>Micronucleus bootloader</code></dt>
|
||
<dd>
|
||
<p>When using the Micronucleus programmer type, the
|
||
following optional extended parameter is accepted:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>wait=<var>timeout</var></samp>’</code></dt>
|
||
<dd><p>If the device is not connected, wait for the device to be plugged in.
|
||
The optional <var>timeout</var> specifies the connection time-out in seconds.
|
||
If no time-out is specified, AVRDUDE will wait indefinitely until the
|
||
device is plugged in.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>Teensy bootloader</code></dt>
|
||
<dd>
|
||
<p>When using the Teensy programmer type, the
|
||
following optional extended parameter is accepted:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>wait=<var>timeout</var></samp>’</code></dt>
|
||
<dd><p>If the device is not connected, wait for the device to be plugged in.
|
||
The optional <var>timeout</var> specifies the connection time-out in seconds.
|
||
If no time-out is specified, AVRDUDE will wait indefinitely until the
|
||
device is plugged in.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>Wiring</code></dt>
|
||
<dd>
|
||
<p>When using the Wiring programmer type, the
|
||
following optional extended parameter is accepted:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>snooze=<var>0..32767</var></samp>’</code></dt>
|
||
<dd><p>After performing the port open phase, AVRDUDE will wait/snooze for
|
||
<var>snooze</var> milliseconds before continuing to the protocol sync phase.
|
||
No toggling of DTR/RTS is performed if <var>snooze</var> > 0.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>PICkit2</code></dt>
|
||
<dd><p>Connection to the PICkit2 programmer:
|
||
</p><table>
|
||
<tr><td width="5%"><code>(AVR)</code></td><td width="30%"><code>(PICkit2)</code></td></tr>
|
||
<tr><td width="5%"><code>RST</code></td><td width="30%"><code>VPP/MCLR (1) </code></td></tr>
|
||
<tr><td width="5%"><code>VDD</code></td><td width="30%"><code>VDD Target (2) -- possibly optional if AVR self powered </code></td></tr>
|
||
<tr><td width="5%"><code>GND</code></td><td width="30%"><code>GND (3) </code></td></tr>
|
||
<tr><td width="5%"><code>MISO</code></td><td width="30%"><code>PGD (4) </code></td></tr>
|
||
<tr><td width="5%"><code>SCLK</code></td><td width="30%"><code>PDC (5) </code></td></tr>
|
||
<tr><td width="5%"><code>OSI</code></td><td width="30%"><code>AUX (6) </code></td></tr>
|
||
</table>
|
||
|
||
<p>Extended command line parameters:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>clockrate=<var>rate</var></samp>’</code></dt>
|
||
<dd><p>Sets the SPI clocking rate in Hz (default is 100kHz). Alternately the -B or -i options can be used to set the period.
|
||
</p></dd>
|
||
<dt><code>‘<samp>timeout=<var>usb-transaction-timeout</var></samp>’</code></dt>
|
||
<dd><p>Sets the timeout for USB reads and writes in milliseconds (default is 1500 ms).
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>USBasp</code></dt>
|
||
<dd><p>Extended parameters:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>section_config</samp>’</code></dt>
|
||
<dd><p>Programmer will erase
|
||
configuration section with option ’-e’ (chip erase),
|
||
rather than entire chip.
|
||
Only applicable to TPI devices (ATtiny 4/5/9/10/20/40).
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>xbee</code></dt>
|
||
<dd><p>Extended parameters:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>xbeeresetpin=<var>1..7</var></samp>’</code></dt>
|
||
<dd><p>Select the XBee pin <code>DIO<1..7></code> that is connected to the MCU’s
|
||
‘/RESET’ line. The programmer needs to know which DIO pin to use to
|
||
reset into the bootloader. The default (3) is the <code>DIO3</code> pin
|
||
(XBee pin 17), but some commercial products use a different XBee
|
||
pin.
|
||
</p>
|
||
<p>The remaining two necessary XBee-to-MCU connections are not selectable
|
||
- the XBee <code>DOUT</code> pin (pin 2) must be connected to the MCU’s
|
||
‘RXD’ line, and the XBee <code>DIN</code> pin (pin 3) must be connected to
|
||
the MCU’s ‘TXD’ line.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
<dt><code>serialupdi</code></dt>
|
||
<dd><p>Extended parameters:
|
||
</p><dl compact="compact">
|
||
<dt><code>‘<samp>rtsdtr=low|high</samp>’</code></dt>
|
||
<dd><p>Forces RTS/DTR lines to assume low or high state during the whole
|
||
programming session. Some programmers might use this signal to
|
||
indicate UPDI programming state, but this is strictly hardware
|
||
specific.
|
||
</p>
|
||
<p>When not provided, driver/OS default value will be used.
|
||
</p></dd>
|
||
</dl>
|
||
|
||
</dd>
|
||
</dl>
|
||
|
||
|
||
<hr>
|
||
<table class="header" cellpadding="1" cellspacing="1" border="0">
|
||
<tr><td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Beginning of this chapter or previous chapter"> << </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_3.html#Option-Descriptions" title="Previous section in reading order"> < </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_2.html#Command-Line-Options" title="Up section"> Up </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_5.html#Example-Command-Line-Invocations" title="Next section in reading order"> > </a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_6.html#Terminal-Mode-Operation" title="Next chapter"> >> </a>]</td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left"> </td>
|
||
<td valign="middle" align="left">[<a href="avrdude.html#Introduction" title="Cover (top) of document">Top</a>]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
|
||
<td valign="middle" align="left">[Index]</td>
|
||
<td valign="middle" align="left">[<a href="avrdude_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
|
||
</tr></table>
|
||
<p>
|
||
<font size="-1">
|
||
This document was generated on <i>March 16, 2022</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 5.0</i></a>.
|
||
</font>
|
||
<br>
|
||
|
||
</p>
|
||
</body>
|
||
</html>
|