mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-09-27 14:35:27 +00:00
Mega-commit to bring in both, the STK500v2 support from Erik
Walthinsen, as well as JTAG ICE mkII support (by me). Erik's submission has been cleaned up a little bit, mostly to add his name and the current year to the copyright of the new file, remove trailing white space before importing the files, and fix the minor syntax errors in his avrdude.conf.in additions (missing semicolons). The JTAG ICE mkII support should be considered alpha to beta quality at this point. Few things are still to be done, like defering the hfuse (OCDEN) tweaks until they are really required. Also, for reasons not yet known, the target MCU doesn't start to run after signing off from the ICE, it needs a power-cycle first (at least on my STK500). Note that for the JTAG ICE, I did change a few things in the internal API. Notably I made the serial receive timeout configurable by the backends via an exported variable (done in both the Posix and the Win32 implementation), and I made the serial_recv() function return a -1 instead of bailing out with exit(1) upon encountering a receive timeout (currently only done in the Posix implementation). Both measures together allow me to receive a datastreem from the ICE at 115 kbps on a somewhat lossy PCI multi-UART card that occasionally drops a character. The JTAG ICE mkII protocol has enough of safety layers to allow recovering from these events, but the previous code wasn't prepared for any kind of recovery. The Win32 change for this still has to be done, and the traditional drivers need to be converted to exit(1) upon encountering a timeout (as they're now getting a -1 returned they didn't see before in that case). git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@451 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
@@ -28,7 +28,7 @@ This file documents the avrdude program.
|
||||
|
||||
For avrdude version @value{VERSION}, @value{UPDATED}.
|
||||
|
||||
Copyright @copyright{} 2003 Brian Dean
|
||||
Copyright @copyright{} 2003,2005 Brian Dean
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
@@ -63,7 +63,7 @@ by the Free Software Foundation.
|
||||
|
||||
@vfill
|
||||
|
||||
Copyright @copyright{} 2003 Brian S. Dean
|
||||
Copyright @copyright{} 2003,2005 Brian S. Dean
|
||||
@sp 2
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
@@ -129,7 +129,8 @@ from the contents of a file, while interactive mode is useful for
|
||||
exploring memory contents, modifing individual bytes of eeprom,
|
||||
programming fuse/lock bits, etc.
|
||||
|
||||
AVRDUDE supports three basic programmer types: Atmel's STK500, appnote
|
||||
AVRDUDE supports four basic programmer types: Atmel's STK500,
|
||||
Atmel's JTAG ICE mkII, appnote
|
||||
avr910 and the PPI (parallel port interface). PPI represents a class
|
||||
of simple programmers where the programming lines are directly
|
||||
connected to the PC parallel port. Several pin configurations exist
|
||||
@@ -139,7 +140,7 @@ programmer on the command line or by creating a new entry in its
|
||||
configuration file. All that's usually required for a new entry is to
|
||||
tell AVRDUDE which pins to use for each programming function.
|
||||
|
||||
The STK500 and avr910 use the serial port to communicate with the PC
|
||||
The STK500, JTAG ICE and avr910 use the serial port to communicate with the PC
|
||||
and contains on-board logic to control the programming of the target
|
||||
device. The fundamental difference between the two types lies in the
|
||||
protocol used to control the programmer. The avr910 protocol is very
|
||||
@@ -147,6 +148,14 @@ simplistic and can easily be used as the basis for a simple, home made
|
||||
programer since the firmware is available online. On the other hand,
|
||||
the STK500 protocol is more robust and complicated and the firmware is
|
||||
not openly available.
|
||||
The JTAG ICE also uses a serial communication protocol which is similar
|
||||
to the STK500 firmware version 2 one. However, as the JTAG ICE is
|
||||
intented to allow on-chip debugging as well as memory programming, the
|
||||
protocol is more sophisticated.
|
||||
(This protocol can also be run on top of USB, but AVRDUDE by now only
|
||||
supports the RS-232-based option.)
|
||||
Only the memory programming functionality of the JTAG ICE is supported
|
||||
by AVRDUDE.
|
||||
|
||||
@menu
|
||||
* History::
|
||||
@@ -221,6 +230,9 @@ datasheet so that you can enter the programming specifications.
|
||||
Currently, the following MCU types are understood:
|
||||
|
||||
@table @code
|
||||
@itemx c128
|
||||
AT90CAN128
|
||||
|
||||
@itemx 1200
|
||||
AT90S1200
|
||||
|
||||
@@ -249,59 +261,80 @@ AT90S8515
|
||||
AT90S8535
|
||||
|
||||
@itemx m103
|
||||
ATMEGA103
|
||||
ATmega103
|
||||
|
||||
@itemx m128
|
||||
ATMEGA128
|
||||
ATmega128
|
||||
|
||||
@itemx m16
|
||||
ATMEGA16
|
||||
ATmega16
|
||||
|
||||
@itemx m161
|
||||
ATMEGA161
|
||||
ATmega161
|
||||
|
||||
@itemx m162
|
||||
ATMEGA162
|
||||
ATmega162
|
||||
|
||||
@itemx m163
|
||||
ATMEGA163
|
||||
ATmega163
|
||||
|
||||
@itemx m169
|
||||
ATMEGA169
|
||||
ATmega169
|
||||
|
||||
@itemx m32
|
||||
ATMEGA32
|
||||
ATmega32
|
||||
|
||||
@itemx m48
|
||||
ATMEGA48
|
||||
ATmega48
|
||||
|
||||
@itemx m64
|
||||
ATMEGA64
|
||||
ATmega64
|
||||
|
||||
@itemx m8
|
||||
ATMEGA8
|
||||
ATmega8
|
||||
|
||||
@itemx m8515
|
||||
ATMEGA8515
|
||||
ATmega8515
|
||||
|
||||
@itemx m8535
|
||||
ATMEGA8535
|
||||
ATmega8535
|
||||
|
||||
@itemx m88
|
||||
ATMEGA88
|
||||
ATmega88
|
||||
|
||||
@itemx t12
|
||||
ATtiny12
|
||||
|
||||
@itemx t13
|
||||
ATtiny13
|
||||
|
||||
@itemx t15
|
||||
ATtiny15
|
||||
|
||||
@itemx t2313
|
||||
ATtiny2313
|
||||
|
||||
@itemx t26
|
||||
ATTINY26
|
||||
ATtiny26
|
||||
|
||||
@end table
|
||||
|
||||
(*) The AT90S2323 uses the same algorithm.
|
||||
(*) The AT90S2323 and ATtiny22 use the same algorithm.
|
||||
|
||||
@item -b @var{baudrate}
|
||||
Override the RS-232 connection baud rate specified in the respective
|
||||
programmer's entry of the configuration file.
|
||||
|
||||
@item -B @var{bitclock}
|
||||
Specify the bit clock period for the JTAG interface (JTAG ICE only).
|
||||
The value is a floating-point number in microseconds.
|
||||
The default value of the JTAG ICE results in about 1 microsecond bit
|
||||
clock period, suitable for target MCUs running at 4 MHz clock and
|
||||
above.
|
||||
Unlike certain parameters in the STK500, the JTAG ICE resets all its
|
||||
parameters to default values when the programming software signs
|
||||
off from the ICE, so for MCUs running at lower clock speeds, this
|
||||
parameter must be specified on the command-line.
|
||||
|
||||
@item -c @var{programmer-id}
|
||||
Specify the programmer to be used. AVRDUDE knows about several common
|
||||
@@ -766,11 +799,22 @@ multiplies by 1E6, a trailing letter @var{k} by 1E3.
|
||||
Turn the master oscillator off.
|
||||
|
||||
@item sck @var{period}
|
||||
@emph{STK500 only:}
|
||||
Set the SCK clock period to @var{period} microseconds.
|
||||
|
||||
@emph{JTAG ICE only:}
|
||||
Set the JTAG ICE bit clock period to @var{period} microseconds.
|
||||
Note that unlike STK500 settings, this setting will be reverted to
|
||||
its default value (approximately 1 microsecond) when the programming
|
||||
software signs off from the JTAG ICE.
|
||||
|
||||
@item parms
|
||||
@emph{STK500 only:}
|
||||
Display the current voltage and master oscillator parameters.
|
||||
|
||||
@emph{JTAG ICE only:}
|
||||
Display the current target supply voltage and JTAG bit clock rate/period.
|
||||
|
||||
@end table
|
||||
|
||||
@c
|
||||
|
Reference in New Issue
Block a user