[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Programmers accepting extended parameters

JTAG ICE mkII
AVR Dragon

When using the JTAG ICE mkII or AVR Dragon in JTAG mode, the following extended parameter is accepted:

jtagchain=UB,UA,BB,BA

Setup the JTAG scan chain for UB units before, UA units after, BB bits before, and BA 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.

AVR910

The AVR910 programmer type accepts the following extended parameter:

devcode=VALUE

Override the device code selection by using VALUE as the device code. The programmer is not queried for the list of supported device codes, and the specified VALUE is not verified but used directly within the T command sent to the programmer. VALUE can be specified using the conventional number notation of the C programming language.

no_blockmode

Disables the default checking for block transfer capability. Use ‘no_blockmode’ only if your ‘AVR910’ programmer creates errors during initial sequence.

BusPirate

The BusPirate programmer type accepts the following extended parameters:

reset=cs,aux,aux2

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 CS pin, second AVR’s RESET connected to BusPirate’s AUX pin and if your BusPirate has an AUX2 pin (only available on BusPirate version v1a with firmware 3.0 or newer) use that to activate RESET on the third AVR.

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.

spifreq=0..7
030 kHz (default)
1125 kHz
2250 kHz
31 MHz
42 MHz
52.6 MHz
64 MHz
78 MHz
rawfreq=0..3

Sets the SPI speed and uses the Bus Pirate’s binary “raw-wire” mode instead of the default binary SPI mode:

05 kHz
150 kHz
2100 kHz (Firmware v4.2+ only)
3400 kHz (v4.2+)

The only advantage of the “raw-wire” mode is that different SPI frequencies are available. Paged writing is not implemented in this mode.

ascii

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 ‘reset=’, ‘spifreq=’ and ‘rawfreq=’ parameters unavailable. Be aware that ASCII mode is not guaranteed to work with newer firmware versions, and is retained only to maintain compatability with older firmware versions.

nopagedwrite

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.

nopagedread

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.

cpufreq=125..4000

This sets the AUX pin to output a frequency of n kHz. Connecting the AUX 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. This setting is only available in ASCII mode. (The lower limit was chosen so the CPU frequency is at least for four times the SPI frequency which is in ASCII mode 30kHz.)

serial_recv_timeout=1...

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.

Wiring

When using the Wiring programmer type, the following optional extended parameter is accepted:

snooze=0..32767

After performing the port open phase, AVRDUDE will wait/snooze for snooze milliseconds before continuing to the protocol sync phase. No toggling of DTR/RTS is performed if snooze > 0.

PICkit2

Connection to the PICkit2 programmer:

(AVR)(PICkit2)
RSTVPP/MCLR (1)
VDDVDD Target (2) -- possibly optional if AVR self powered
GNDGND (3)
MISOPGD (4)
SCLKPDC (5)
OSIAUX (6)

Extended commandline parameters:

clockrate=rate

Sets the SPI clocking rate in Hz (default is 100kHz). Alternately the -B or -i options can be used to set the period.

timeout=usb-transaction-timeout

Sets the timeout for USB reads and writes in milliseconds (default is 1500 ms).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Joerg Wunsch on September 17, 2013 using texi2html 1.82.