<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created on March 17, 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: 4.2 Programmer Definitions</title>

<meta name="description" content="AVRDUDE: 4.2 Programmer Definitions">
<meta name="keywords" content="AVRDUDE: 4.2 Programmer Definitions">
<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.smallexample {
  background-color: #dfd;
  border: 3px solid #cfc;
}
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="Programmer-Definitions"></a>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="avrdude_9.html#Configuration-File" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_10.html#AVRDUDE-Defaults" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_9.html#Configuration-File" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_12.html#Part-Definitions" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_16.html#Programmer-Specific-Information" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </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="Programmer-Definitions-1"></a>
<h2 class="section">4.2 Programmer Definitions</h2>

<p>The format of the programmer definition is as follows:
</p>
<div class="smallexample">
<pre class="smallexample">programmer
    parent &lt;id&gt;                                 # &lt;id&gt; is a quoted string
    id       = &lt;id1&gt; [, &lt;id2&gt; [, &lt;id3&gt;] ...] ;  # &lt;idN&gt; are quoted strings
    desc     = &lt;description&gt; ;                  # quoted string
    type     = &quot;par&quot; | &quot;stk500&quot; | ... ;         # programmer type (see below for a list)
    baudrate = &lt;num&gt; ;                          # baudrate for serial ports
    vcc      = &lt;num1&gt; [, &lt;num2&gt; ... ] ;         # pin number(s)
    buff     = &lt;num1&gt; [, &lt;num2&gt; ... ] ;         # pin number(s)
    reset    = &lt;num&gt; ;                          # pin number
    sck      = &lt;num&gt; ;                          # pin number
    mosi     = &lt;num&gt; ;                          # pin number
    miso     = &lt;num&gt; ;                          # pin number
    errled   = &lt;num&gt; ;                          # pin number
    rdyled   = &lt;num&gt; ;                          # pin number
    pgmled   = &lt;num&gt; ;                          # pin number
    vfyled   = &lt;num&gt; ;                          # pin number
    usbvid   = &lt;hexnum&gt;;                        # USB VID (Vendor ID)
    usbpid   = &lt;hexnum&gt; [, &lt;hexnum&gt; ...];       # USB PID (Product ID)
    usbdev   = &lt;interface&gt;;                     # USB interface or other device info 
    usbvendor = &lt;vendorname&gt;;                   # USB Vendor Name
    usbproduct = &lt;productname&gt;;                 # USB Product Name
    usbsn    = &lt;serialno&gt;;                      # USB Serial Number
  ;
</pre></div>

<p>If a parent is specified, all settings of it (except its ids) are used for the new 
programmer. These values can be changed by new setting them for the new programmer.
</p>
<p>To invert a bit in the pin definitions, use <code>= ~ &lt;num&gt;</code>.
</p>
<p>Not all programmer types can handle a list of USB PIDs.
</p>
<p>Following programmer types are currently implemented:
</p>
<table>
<tr><td width="25%"><code>arduino</code></td><td width="60%">Arduino programmer</td></tr>
<tr><td width="25%"><code>avr910</code></td><td width="60%">Serial programmers using protocol described in application note AVR910</td></tr>
<tr><td width="25%"><code>avrftdi</code></td><td width="60%">Interface to the MPSSE Engine of FTDI Chips using libftdi.</td></tr>
<tr><td width="25%"><code>buspirate</code></td><td width="60%">Using the Bus Pirate&rsquo;s SPI interface for programming</td></tr>
<tr><td width="25%"><code>buspirate_bb</code></td><td width="60%">Using the Bus Pirate&rsquo;s bitbang interface for programming</td></tr>
<tr><td width="25%"><code>butterfly</code></td><td width="60%">Atmel Butterfly evaluation board; Atmel AppNotes AVR109, AVR911</td></tr>
<tr><td width="25%"><code>butterfly_mk</code></td><td width="60%">Mikrokopter.de Butterfly</td></tr>
<tr><td width="25%"><code>dragon_dw</code></td><td width="60%">Atmel AVR Dragon in debugWire mode</td></tr>
<tr><td width="25%"><code>dragon_hvsp</code></td><td width="60%">Atmel AVR Dragon in HVSP mode</td></tr>
<tr><td width="25%"><code>dragon_isp</code></td><td width="60%">Atmel AVR Dragon in ISP mode</td></tr>
<tr><td width="25%"><code>dragon_jtag</code></td><td width="60%">Atmel AVR Dragon in JTAG mode</td></tr>
<tr><td width="25%"><code>dragon_pdi</code></td><td width="60%">Atmel AVR Dragon in PDI mode</td></tr>
<tr><td width="25%"><code>dragon_pp</code></td><td width="60%">Atmel AVR Dragon in PP mode</td></tr>
<tr><td width="25%"><code>flip1</code></td><td width="60%">FLIP USB DFU protocol version 1 (doc7618)</td></tr>
<tr><td width="25%"><code>flip2</code></td><td width="60%">FLIP USB DFU protocol version 2 (AVR4023)</td></tr>
<tr><td width="25%"><code>ftdi_syncbb</code></td><td width="60%">FT245R/FT232R Synchronous BitBangMode Programmer</td></tr>
<tr><td width="25%"><code>jtagmki</code></td><td width="60%">Atmel JTAG ICE mkI</td></tr>
<tr><td width="25%"><code>jtagmkii</code></td><td width="60%">Atmel JTAG ICE mkII</td></tr>
<tr><td width="25%"><code>jtagmkii_avr32</code></td><td width="60%">Atmel JTAG ICE mkII in AVR32 mode</td></tr>
<tr><td width="25%"><code>jtagmkii_dw</code></td><td width="60%">Atmel JTAG ICE mkII in debugWire mode</td></tr>
<tr><td width="25%"><code>jtagmkii_isp</code></td><td width="60%">Atmel JTAG ICE mkII in ISP mode</td></tr>
<tr><td width="25%"><code>jtagmkii_pdi</code></td><td width="60%">Atmel JTAG ICE mkII in PDI mode</td></tr>
<tr><td width="25%"><code>jtagice3</code></td><td width="60%">Atmel JTAGICE3</td></tr>
<tr><td width="25%"><code>jtagice3_pdi</code></td><td width="60%">Atmel JTAGICE3 in PDI mode</td></tr>
<tr><td width="25%"><code>jtagice3_updi</code></td><td width="60%">Atmel JTAGICE3 in UPDI mode</td></tr>
<tr><td width="25%"><code>jtagice3_dw</code></td><td width="60%">Atmel JTAGICE3 in debugWire mode</td></tr>
<tr><td width="25%"><code>jtagice3_isp</code></td><td width="60%">Atmel JTAGICE3 in ISP mode</td></tr>
<tr><td width="25%"><code>linuxgpio</code></td><td width="60%">GPIO bitbanging using the Linux sysfs interface (not available)</td></tr>
<tr><td width="25%"><code>linuxspi</code></td><td width="60%">SPI using Linux spidev driver (not available)</td></tr>
<tr><td width="25%"><code>micronucleus</code></td><td width="60%">Micronucleus Bootloader</td></tr>
<tr><td width="25%"><code>par</code></td><td width="60%">Parallel port bitbanging</td></tr>
<tr><td width="25%"><code>pickit2</code></td><td width="60%">Microchip&rsquo;s PICkit2 Programmer</td></tr>
<tr><td width="25%"><code>serbb</code></td><td width="60%">Serial port bitbanging</td></tr>
<tr><td width="25%"><code>serialupdi</code></td><td width="60%">Driver for SerialUPDI programmers</td></tr>
<tr><td width="25%"><code>stk500</code></td><td width="60%">Atmel STK500 Version 1.x firmware</td></tr>
<tr><td width="25%"><code>stk500generic</code></td><td width="60%">Atmel STK500, autodetect firmware version</td></tr>
<tr><td width="25%"><code>stk500v2</code></td><td width="60%">Atmel STK500 Version 2.x firmware</td></tr>
<tr><td width="25%"><code>stk500hvsp</code></td><td width="60%">Atmel STK500 V2 in high-voltage serial programming mode</td></tr>
<tr><td width="25%"><code>stk500pp</code></td><td width="60%">Atmel STK500 V2 in parallel programming mode</td></tr>
<tr><td width="25%"><code>stk600</code></td><td width="60%">Atmel STK600</td></tr>
<tr><td width="25%"><code>stk600hvsp</code></td><td width="60%">Atmel STK600 in high-voltage serial programming mode</td></tr>
<tr><td width="25%"><code>stk600pp</code></td><td width="60%">Atmel STK600 in parallel programming mode</td></tr>
<tr><td width="25%"><code>teensy</code></td><td width="60%">Teensy Bootloader</td></tr>
<tr><td width="25%"><code>usbasp</code></td><td width="60%">USBasp programmer, see http://www.fischl.de/usbasp/</td></tr>
<tr><td width="25%"><code>usbtiny</code></td><td width="60%">Driver for &quot;usbtiny&quot;-type programmers</td></tr>
<tr><td width="25%"><code>wiring</code></td><td width="60%">http://wiring.org.co/, Basically STK500v2 protocol, with some glue to trigger the bootloader.</td></tr>
<tr><td width="25%"><code>xbee</code></td><td width="60%">XBee Series 2 Over-The-Air (XBeeBoot)</td></tr>
</table>

<hr>
<table class="header" cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="avrdude_9.html#Configuration-File" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_10.html#AVRDUDE-Defaults" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_9.html#Configuration-File" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_12.html#Part-Definitions" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left">[<a href="avrdude_16.html#Programmer-Specific-Information" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </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 17, 2022</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 5.0</i></a>.
 </font>
 <br>

</p>
</body>
</html>