* AUTHORS: Updated.

* CHANGELOG: Move contents to NEWS and remove file.
* ChangeLog: All of the changes for this year.
* ChangeLog-2001: All 2001 changes.
* ChangeLog-2002: All 2002 changes.
* Makefile.am (EXTRA_DIST): Remove CHANGELOG and and Change-200[12].
* NEWS: Moved contents of CHANGELOG file here.
* README: Add note pointing to savannah site.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@279 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Theodore A. Roth 2003-03-11 22:34:53 +00:00
parent fc78f7c729
commit ba552f9bcd
8 changed files with 1679 additions and 236 deletions

View File

@ -0,0 +1,9 @@
AVRDUDE was written by:
Brian S. Dean <bsd@bdmicro.com>.
Contributors:
Joerg Wunsch <j@uriah.heep.sax.de>
Eric Weddington <eric@umginc.net>

234
CHANGELOG
View File

@ -1,234 +0,0 @@
$Id$
Approximate change log for AVRDUDE by version
----------------------------------------------------------------------
Version ???
* Now support Linux - added by "Theodore A. Roth" <troth@openavr.org>
* Now support Windows - added by "E. Weddington" <eric@umginc.net>
* Use 'configure' scripts to tailor the code to the system avrdude
is getting ready to be compiled on - added by "Theodore A. Roth"
<troth@openavr.org>
* Motorola S-Record support - submitted by "Alexey V.Levdikov "
<tsar@kemford.com>
* Support parallel programming on the STK500. Introduce 'pagel' and
'bs2' keywords to the config file for this purpose.
* Add support for the AT90S2343
* Add support for the ATmega169
* Add ability to specify system defaults within the config file
(default parallel port, default serial port).
* Specify the default programmer seperately from the programmer
definition. This is now done in the config file using the
'default_programmer' keyword.
* Support a per-user config file (~/.avrduderc) so that one can
override system wide defaults if desired.
* Follow the datasheet more closely for several parts in the "retry"
code when entering programming mode fails initially. Introduce
'retry_pulse' to the config file for this purpose.
Version 3.1.0
* This change represents a name change only. There is currently an
effort to port AVRPROG to other platforms including Linux and
Windows. Since Atmel's programmer binary that's included within
their AVR Studio software is named AVRPROG.EXE on the Windows OS,
there is the chance for confusion if we keep calling this program
AVRPROG as well. Up until now the name hasn't really been a
problem since there was no chance to confuse 'avrprog' on Unix
with Atmel's AVRPROG because Atmel's tools only run on Windows.
But with the Unix 'avrprog' possibly being ported to Windows, I
felt a name change was the best way to avoid problems.
So - from this point forward, my FreeBSD Unix program formerly
known as AVRPROG will subsequently be known as AVRDUDE (AVR
Downloader/UploaDEr).
This change also represents a time when the AVRDUDE sources move
from my own private repository to a public repository. This will
give other developers a chance to port AVRDUDE to other platforms
and extend its functionality to support additional programming
hardware, etc.
So goodbye AVRPROG, welcome AVRDUDE!
Version 3.0.0
* Rewrite parts of the code to make it easy to support other types
of programmers besides the directly connected parallel port
programmer (PPI).
* Add support for Atmel's STK500 programmer/development board. The
STK500's "paged mode" read/write is supported which makes this
programmer very fast. This is sorely needed on parts with large
memories such as the ATmega128. My 12K test program burns in
about 5 seconds, add another 5 to read it back out for
verification.
Version 2.1.5:
* When getting ready to initiate communications with the AVR device,
first pull /RESET low for a short period of time before enabling
the buffer chip. This sequence allows the AVR to be reset before
the buffer is enabled to avoid a short period of time where the
AVR may be driving the programming lines at the same time the
programmer tries to. Of course, if a buffer is being used, then
the /RESET line from the programmer needs to be directly connected
to the AVR /RESET line and not via the buffer chip.
Feature contributed by Rick C. Petty <rick@KIWI-Computer.com>.
* When in interactive terminal mode and dumping memory using the
'dump <memtype>' command without any address information, and the
end of memory is reached, wrap back around to zero on the next
invocation.
Version 2.1.4:
* Fix -Y option.
Version 2.1.3:
* Be backward compatible when reading 2-byte rewrite cycle counters
as written by avrprog version 2.1.0. Version 2.1.1 changed over
to a 4-byte counter, which caused avrprog versions 2.1.1 and 2.1.2
to report a negative count for parts that were initialized using
version 2.1.0. Thanks to Joerg Wunsch for noticing this.
Version 2.1.2:
* Add '-V' option to disable automatic verify check with uploading
data.
Version 2.1.1:
* Fix ATmega128 instruction sequences for reading fuse bits -
contributed by Joerg Wunsch.
* Modify erase-rewrite cycle counter code to use a 4 byte counter
instead of a two byte counter.
Version 2.1.0:
* Implement a per-part erase-rewrite cycle counter; requires the use
of two bytes of EEPROM memory.
Version 2.0.5:
* Support for ATtiny15 - contributed by Asher Hoskins
Version 2.0.4:
* Config file fixes for various parts.
Version 2.0.3:
* Work around problem programming fuse bits on parts like the
at90s4433 as described in the following errata:
http://www.atmel.com/atmel/acrobat/doc1280.pdf
* Add part definition for at90s4414, at90s4433.
* Add fuse/lock bit memory instructions for the at90s1200,
at90s2333, at90s4433 and at90s8515.
* Fix setting of programmer status LEDs under certain write-fail
conditions.
Version 2.0.2 :
* Fix writing to read-only memories such as the lock bits of the
AT90S2313.
* Copyright updates.
Version 2.0.1 :
* Use correct parallel port pins for VCC.
* Add programmer definition for Atmel's STK200.
* Add programmer definition for the AVR3 board.
* Fix address bit encoding for many parts.
* Allow the ``BUFF'' signal to be asserted by multiple pins of the
parallel port (like VCC) instead of just one. The STK200 appears
to need this feature.
Version 2.0.0 :
* Add support for programming fuse and lock bits if supported by the
part.
* Move instruction encoding into the config file. Now any part can
be supported as long as it uses the same basic serial programming
instruction format.
* Add part definitions for the ATMega163 and ATMega8 devices.
Version 1.4.3 :
* Mostly internal code cleanup.
Version 1.4.2 :
* Fixes for ATMega paged memory support.
* Support for ATMega16 device.
Version 1.4.1 :
* No functional changes, update to Copyrights only.
Version 1.4.0 :
* Add part definitions to the config file.
* Add initial support for Atmel's ATMega paged memory parts.
* Config file documentation added.
* Add a definition for the Dontronics DT006 programmer.
* Fix Intel Hex support for addresses larger than 64k.
Version 1.3.0 :
* Make programmer pin assignments configurable.
Version 1.2.2 :
* Initial public release

592
ChangeLog
View File

@ -1 +1,591 @@
See the CHANGELOG file.
2003-03-11 Theodore A. Roth <troth@openavr.org>
* AUTHORS: Updated.
* CHANGELOG: Move contents to NEWS and remove file.
* ChangeLog: All of the changes for this year.
* ChangeLog-2001: All 2001 changes.
* ChangeLog-2002: All 2002 changes.
* Makefile.am (EXTRA_DIST): Remove CHANGELOG and and Change-200[12].
* NEWS: Moved contents of CHANGELOG file here.
* README: Add note pointing to savannah site.
2003-03-11 Eric Weddington <eric@umginc.net>
* doc/avrdude.texi:
Add Install and Documentation sections for Windows. Fix typo.
2003-03-10 Theodore A. Roth <troth@openavr.org>
* Makefile.am: * Makefile.am (EXTRA_DIST): Add CHANGELOG.
2003-03-10 Brian S. Dean <bsd@bdmicro.com>
* stk500.c: Disable debugging printf.
* configure.ac: Update version number in preparation for release.
2003-03-10 Theodore A. Roth <troth@openavr.org>
* doc/avrdude.texi:
Add comment before each node to make them stand out better.
Use @option{} command for options instead of @code{}.
Merge FreeBSD and Linux platform dependent information.
2003-03-10 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1: Minor man page updates to better reflect reality.
2003-03-10 Joerg Wunsch <j@uriah.heep.sax.de>
* bootstrap:
Export all the AUTO* variables. Hopefully, that way the generated
Makefile might get them correctly.
* bootstrap:
Export ${AUTOCONF} so automake will find it by whatever name it will be
called today.
2003-03-06 Eric Weddington <eric@umginc.net>
* doc/avrdude.texi:
Add notes about ability to list parts and list programmers in the
config file in -p and -c descriptions. Change info about where to
find Windows search method in -C description.
* main.c:
Change software version from hardcoded value to getting it from
the configuration.
2003-03-06 Theodore A. Roth <troth@openavr.org>
* avrdude.spec.in: * avrdude.spec.in: Add docs sub-package.
Add %post and %preun scriptlets for handling info files.
* configure.ac, doc/Makefile.am:
* configure.ac: Add --enable-versioned-doc option and set DOC_INST_DIR.
* doc/Makefile.am: Add rules to install docs in DOC_INST_DIR.
* doc/Makefile.am:
Delete the lines which where commented out in previous commit.
* configure.ac, doc/Makefile.am:
* configure.ac: Remove hack to make work with automake-1.5.
* doc/Makefile.am: Remove extra rules that were needed to work with
automake-1.5.
* bootstrap:
* bootstrap: Force use of autoconf-2.57 and automake-1.7.x.
2003-03-05 Joerg Wunsch <j@uriah.heep.sax.de>
* avrdude.conf.in: Add a definition for the popular Ponyprog dongle.
Submitted by: Daniel Williamson <dannyw@maconmgt.co.uk>
2003-03-05 Brian S. Dean <bsd@bdmicro.com>
* main.c:
Check the programmer type against 'STK500' instead of the programmer
name when checking to see if we should default to the default_serial
port instead of the default_parallel port. This has us do the right
thing for the new 'avrisp' programmer.
* stk500.c:
Make the page size used for non-paged parts for the 'paged_write'
command be 128 bytes. This cuts 6 seconds off the programming time
for uploading a 6K file into an AT90S8515 vs the time loading the same
file using a 16 byte buffer, and the response feedback is still good.
* avr.c, stk500.c:
Fix stk500 page write (Program Page command). This is supported after
all on non-paged-memory parts. The problem was that the page size was
defaulting to 256 (maximum for the stk500), but the timeout for a
response from the stk500 before declaring it dead was only 0.5
seconds. But it takes much longer than 0.5 seconds to program 256
bytes, so we just weren't waiting long enough.
Fix this in two ways - increase the timeout to 5 seconds, and decrease
the page size to 16 bytes for non-paged parts. The programming time
for 16 bytes is short enough to provide the user with some feedback
that something is happening.
* avr.c, stk500.c:
Don't call the programmer's 'paged_write' routine unless the memory
itself is paged as it doesn't appear to work otherwise.
* avrdude.conf.in: Fix device codes for at90s8515 and at90s8535.
* avrdude.conf.in:
Add PAGEL and BS2 parms for parts I have datasheets for.
* config_gram.y:
Do that last commit slightly differently - this way results in no
shift-reduce conflicts.
* config_gram.y:
It shouldn't be an error to have an empty configuration file. This
causes some shift-reduce conflicts, but I think they are OK.
* main.c:
Print out a list of valid parts for '-p ?' and a list of valid
programmers for '-c ?'.
2003-03-04 Eric Weddington <eric@umginc.net>
* doc/avrdude.texi: Minor Windows doc corrections.
* doc/TODO: Add TODO file.
* avrdude.conf.in: Add AVR ISP programmer.
2003-03-04 Brian S. Dean <bsd@bdmicro.com>
* stk500.c:
Don't try to set extended device programming parameters if they
haven't been specified in the config file for the part.
* stk500.c: Set extended device parameters for all firmware versions.
* stk500.c:
First attempt at supporting STK500 firmware past 1.10. Thanks to
Jason Kyle for the needed protocol information.
2003-03-03 Theodore A. Roth <troth@openavr.org>
* doc/Makefile.am:
* doc/Makefile.am: Add ps and pdf rules since they aren't supplied by
automake versions prior to 1.7.
* doc/avrdude.texi:
* doc/avrdude.texi: Add node and menu information for the info system.
* Makefile.am, configure.ac, doc/Makefile.am, doc/avrdude.texi:
* Makefile.am (SUBDIRS): Add doc dir.
* configure.ac (AC_CONFIG_FILES): Add doc/Makefile.
* doc/Makefile.am: New file.
* doc/avrdude.texi: Use automatically generated version.texi.
2003-03-02 Brian S. Dean <bsd@bdmicro.com>
* doc/avrdude.texi: Initial manual.
2003-02-27 Theodore A. Roth <troth@openavr.org>
* term.c: * term.c: Use fgets() if readline() is not available.
2003-02-27 Joerg Wunsch <j@uriah.heep.sax.de>
* bootstrap:
Oops, accidentally spammed the repository with my private version of
"bootstrap". Back out that change.
* bootstrap, lexer.l:
Ignore \r as white space, to make the Windows people happy.
2003-02-27 Theodore A. Roth <troth@openavr.org>
* Makefile.am (EXTRA_DIST): Add avrdude.spec and make entries one
per line so future patches are obvious as to what changed.
* avrdude.spec.in: New file to support creation of binaries in rpm
format.
* configure.ac (AC_OUTPUT): Add avrdude.spec. Reorder so that
Makefile is the last entry.
2003-02-26 Theodore A. Roth <troth@openavr.org>
* Makefile.am (SUBDIRS): Add windows dir.
* configure.ac: If $target is a windows system, build whats in
windows sub dir.
* windows/Makefile.am: New file.
2003-02-25 Theodore A. Roth <troth@openavr.org>
* ChangeLog: Point reader to the CHANGELOG file.
* Makefile.am (EXTRA_DIST): Rename avrdude.conf.sample to
avrdude.conf.in.
Remove avrdude.conf and distclean-local rules.
Add install-exec-local and backup-avrdude-conf rules.
* avrdude.conf.in:
Set default_parallel to "@DEFAULT_PAR_PORT@" for autoconf expansion.
Set default_serial to "@DEFAULT_SER_PORT@" for autoconf expansion.
* configure.ac: Add call to AC_CANONICAL_{BUILD,HOST,TARGET} macros.
Set DEFAULT_PAR_PORT and DEFAULT_SER_PORT based on $host.
Add copyright header.
Define avrdude_version so AC_INIT and AM_INIT_AUTOMAKE are sure
to get the same version.
* avrdude.conf.in, avrdude.conf.sample:
Renamed avrdude.conf.sample to avrdude.conf.in.
2003-02-25 Eric Weddington <eric@umginc.net>
* ppiwin.c: CRs again.
* confwin.c, confwin.h: Get rid of CRs.
* main.c, Makefile.am: Get rid of CRs again.
2003-02-24 Joerg Wunsch <j@uriah.heep.sax.de>
* avrdude.1: Atmel has rearranged their web site, so now the AVR
docs have been moved to a more logically sounding URL.
2003-02-24 Eric Weddington <eric@umginc.net>
* Makefile.am, main.c: Integrate Windows search of config files.
* confwin.c, confwin.h: config file search on Windows.
* ppiwin.c: Change port value from lpt1alt to lpt3. Other
formatting changes.
* windows/giveio.c:
Add giveio device driver source. Requires MS DDK to build.
* windows/giveio.sys: Add giveio device driver binary.
* giveio.sys, install_giveio.bat, remove_giveio.bat, status_giveio.bat:
Move Windows specific files.
* windows/loaddrv.c, windows/loaddrv.h, windows/remove_giveio.bat:
* windows/status_giveio.bat, windows/install_giveio.bat:
Add Windows specific files.
* main.c: Usage back to stderr.
2003-02-22 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG: Add note about .avrduderc.
* avr.c, avrdude.conf.sample, avrpart.h, config_gram.y, main.c,
* par.c, pgm.c, pgm.h:
Add the ability to read a per-user config file located at
$HOME/.avrduderc. Entries from .avrduderc take precedence over those
from the system wide config file in ${PREFIX}/etc/avrdude.conf.
Track and display the config file name and line number when we print
out the available parts and programmers. This is useful in case
someone has overridden a definition in their .avrduderc file and is
wondering why the definition in the system wide config file is not
being used.
Remove the default programmer 'stk500' from the distributed config
file.
* CHANGELOG: Spelling.
2003-02-21 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG:
Put some stuff in the CHANGELOG for this upcoming new version before I
forget.
* main.c:
Update comment due to removal of the default parallel port pin config.
* config.c, config.h, config_gram.y, lexer.l, main.c:
* avrdude.conf.sample:
Introduce 'default_programmer' to the config file instead of requiring
one of the programmers to be tagged "default" within its definition.
Also, axe the notion of a compiled-in default programmer. It is
kind've pointless now that nearly all configuration comes from the
config file, thus, avrdude is not very useful without the config file,
and thus, having a programmer compiled-in offers little or no benefit.
2003-02-21 Eric Weddington <eric@umginc.net>
* main.c: Change usage text to be verbose.
* giveio.sys: Add Windows parallel port device driver (binary).
* install_giveio.bat, remove_giveio.bat, status_giveio.bat:
Windows batch files to work with giveio.sys.
2003-02-21 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample, config.c, config.h, config_gram.y, lexer.l:
* main.c:
Add port name defaults to the config file instead of hard-coding.
This adds 'default_parallel' and 'default_serial' keywords to the
grammar, which take quoted string arguments.
* avrdude.conf.sample:
Document the recent additions to the config file.
* stk500.c, avr.c, avrpart.h, config_gram.y, lexer.l, par.c:
Add the ability to specify which pin to pulse when retrying entry into
programming mode. Use 'retry_pulse' in the per-part specification
that can currently take values of 'reset' or 'sck', the default being
'sck' which preserves the previous behaviour. Some newer parts
indicate that /RESET should be pulsed, while older parts say to pulse
SCK.
2003-02-20 Eric Weddington <eric@umginc.net>
* main.c, par.c:
Make verbose global. Make debug code in par_cmd() based on verbose=2.
2003-02-20 Brian S. Dean <bsd@bdmicro.com>
* stk500.c: Fix pseudo/full parallel mode selection logic.
* avrdude.conf.sample:
Woops, didn't really mean to commit those changes that slipped in with
the last commit. Those were just there for testing.
* avr.c, avrdude.conf.sample, avrpart.h, config_gram.y, lexer.l:
* stk500.c:
Add 'serial' and 'parallel' keywords to the grammar so that one can
say whether parts support these programming modes or not. Possible
values for 'serial' are 'yes' or 'no'. Possible values for 'parallel'
are 'yes', 'no', or 'pseudo'. Add a bit mask of flags to the AVRPART
structure to capture these settings. Use these within
stk500_initialize() to set the device parameters correctly.
Defaults for 'serial' and 'parallel' are 'yes' unless specified
otherwise.
2003-02-20 Eric Weddington <eric@umginc.net>
* Makefile.am, ppiwin.c: Get rid of CRs.
* Makefile.am: Add ppiwin.c to avrdude_SOURCES.
* ppiwin.c: Added ppiwin.c: Windows parallel port driver.
* stk500.c:
Add error message for fail to enter programming mode. Fix typos.
2003-02-20 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avrdude.conf.sample, avrpart.h, config_gram.y, lexer.l:
Add a few parameters needed for parallel programming: assignment of
PAGEL and BS2 signals and the disposition of the reset pin
('dedicated' or 'io').
2003-02-20 Theodore A. Roth <troth@openavr.org>
* avrdude.1: Fix spacing for m169 entry. (tabs not spaces ;-)
2003-02-20 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1, fileio.c, main.c: Add Motorola S-record support.
Submitted by: "Alexey V.Levdikov" <tsar@kemford.com>
2003-02-19 Theodore A. Roth <troth@openavr.org>
* avrdude.1: Add m169 to list of supported targets.
2003-02-19 Joerg Wunsch <j@uriah.heep.sax.de>
* avrdude.conf.sample, avrdude.1:
My colleague contributed a part definition for the AT90S2343.
Submitted by: Mirko Kaffka <mirko@mkaffka.de>
2003-02-18 Theodore A. Roth <troth@openavr.org>
* avrdude.conf.sample:
Add support for mega169. (tested with stk500 with 1.7 firmware)
* avrdude.conf.sample:
Add commments to separate parts (makes it easier for the eye to parse).
2003-02-15 Theodore A. Roth <troth@openavr.org>
* Makefile.am: Add $srcdir to sample config filename so that
building in a separate dir works.
2003-02-15 Joerg Wunsch <j@uriah.heep.sax.de>
* Makefile.am:
Only GNU make sets $< in non-inference rules, so rather explicitly
spell the source file(s) to remain compatible.
2003-02-14 Theodore A. Roth <troth@openavr.org>
* Makefile.am: Add distclean rule and EXTRA_DIST list to get 'make
distcheck' to succeed.
These changes add basic support for a autoconf/automake based
build system.
* .cvsignore: Ignore autoconf files.
* AUTHORS: New file.
* ChangeLog: New file.
* Makefile: Removed file.
* Makefile.am: New file.
* NEWS: New file.
* README: New file.
* bootstrap: New file.
* configure.ac: New file.
* avr.c: Include ac_cfg.h (generated by autoconf).
* config.c: Include ac_cfg.h.
Include config_gram.h instead of y.tab.h.
* config.h: If HAS_YYSTYPE is not defined, define YYSTYPE.
* config_gram.y: Include ac_cfg.h.
* fileio.c: Include ac_cfg.h.
* lexer.l: Include config_gram.h instead of y.tab.h.
* lists.c: Include ac_cfg.h.
* main.c: Include ac_cfg.h.
* par.c: Include ac_cfg.h.
* pgm.c: Include ac_cfg.h.
* ppi.c: Include ac_cfg.h.
* stk500.c: Include ac_cfg.h.
* term.c: Include ac_cfg.h.
2003-02-14 Brian S. Dean <bsd@bdmicro.com>
* stk500.c: Fix typos. Fix error messages.
2003-02-13 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avrdude.conf.sample, config_gram.y, lexer.l, main.c:
* par.c, par.h, ppi.c, ppi.h, stk500.c:
Split higher level parallel port programmer code off from ppi.c into
its own file par.c, leaving low level parallel port accessor routines
in ppi.c to help with portability. Change the programmer type to
'PAR' now instead of 'PPI' - 'PAR' represents the parallel port
programmer type.
Be more liberal with 'static' function declarations within the
programmer implimentation files - these functions should never be
called directly - always use the programmer function references.
There are still a few places in 'main.c' that directly reference the
parallel programmer explicitly (par_getpinmask). These should be
fixed somehow.
Axe a few unused functions.
2003-02-12 Theodore A. Roth <troth@openavr.org>
* .cvsignore: New file.
* stk500.c: Remove need for inttypes.h.
* lexer.l: Define YY_NO_UNPUT to quell a compiler warning.
* Makefile: Remove YACC assignment.
Add '-b y' options to YACC invocation.
Remove leading '-' from 'include .depend'.
2003-02-12 Joerg Wunsch <j@uriah.heep.sax.de>
* config_gram.y:
Declare the internally used static functions on top, to get rid of the
compiler warnings.
Reported by: bison-generated parsers
2003-02-11 Theodore A. Roth <troth@openavr.org>
* linux_ppdev.h: New file.
* ppi.c: Include system dependant parallel port interface file.
(ppi_open): Add call to ppi_claim().
(ppi_close): Add call to ppi_release().
* ppi.h: Define ppi_claim() and ppi_release() as NOPs if not previously
defined.
* stk500.c: Include inttypes header to quell compiler warning.
2003-02-11 Joerg Wunsch <j@uriah.heep.sax.de>
* pgm.c, ppi.c, stk500.c: Fix some implicit declaration warnings.
* config_gram.y:
Move the C declarations to the top of the file. While [b]yacc doesn't
care, bison does, and this is normally the way it's meant to be
anyway.
2003-02-11 Theodore A. Roth <troth@openavr.org>
* Makefile: Generate dependencies specific to the target system.
Explicitly use byacc.
* Makefile:
Remove reference to avr-gcc in depend rule (cut & paste error).
2003-02-09 Brian S. Dean <bsd@bdmicro.com>
* main.c, pgm.c, pgm.h, pindefs.h, ppi.c, ppi.h, stk500.c:
* stk500.h, stk500_private.h, term.c, term.h, CHANGELOG, COPYING:
* Makefile, avr.c, avr.h, avrdude.1, avrdude.conf.sample:
* avrdude.pdf, avrpart.h, config.c, config.h, config_gram.y:
* fileio.c, fileio.h, lexer.l, lists.c, lists.h:
Test commit in new public repository. Before this time this repo
existed on a private system. Commits made by 'bsd' on the old system
were made by Brian Dean (bdean on the current system).
2003-02-08 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avr.c, avr.h, avrdude.1, avrpart.h, config.c,
* config.h, config_gram.y, fileio.c, fileio.h, lexer.l, lists.c:
* lists.h, main.c, pgm.c, pgm.h, pindefs.h, ppi.c, ppi.h:
* stk500.c, stk500.h, term.c, term.h:
The last part of that last commit message should read:
All others - modify program description.
* Makefile, avr.c, avr.h, avrdude.1, avrpart.h, config.c:
* config.h, config_gram.y, fileio.c, fileio.h, lexer.l, lists.c:
* lists.h, main.c, pgm.c, pgm.h, pindefs.h, ppi.c, ppi.h:
* stk500.c, stk500.h, term.c, term.h:
Makefile: include a target to automatically generate the dependency
list.
All others
2003-02-06 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1: Update license to GPL, permission by Joerg Wunsch.
* lexer.l: Add GPL.
* Makefile, config_gram.y: Add GPL to the Makefile and config_gram.y.
* Makefile, stk500.h:
Add stk500.h as a dependency for stk500.c. Remove carraige returns
from stk500.h - don't know how those got in there (pointed out by Ted
Roth).
* COPYING, avr.c, avr.h, avrpart.h, config.c, config.h, fileio.c:
* fileio.h, lists.c, lists.h, main.c, pgm.c, pgm.h, pindefs.h:
* ppi.c, ppi.h, stk500.c, stk500.h, term.c, term.h:
Re-license using the GNU GPL. Thanks to Ted Roth for the patch.
* avr.c, avr.h, config.c, config.h, config_gram.y, fileio.c:
* fileio.h, lexer.l, lists.c, lists.h, main.c, pgm.c, pgm.h:
* pindefs.h, ppi.c, ppi.h, stk500.c, stk500.h, term.c, term.h:
Get rid of the verbose printing of individual file CVS version ids.
This was intended to be used for identifying code in the field for
incoming bug reports, but I've never really found it all that useful.
* CHANGELOG, Makefile, Makefile.inc, avr.c, avrdude.1:
* avrdude.conf.sample, config_gram.y, lexer.l, main.c, stk500.c:
* term.c:
Change the name from AVRPROG to AVRDUDE.
This change represents a name change only. There is currently an
effort to port AVRPROG to other platforms including Linux and Windows.
Since Atmel's programmer binary that's included within their AVR
Studio software is named AVRPROG.EXE on the Windows OS, there is the
chance for confusion if we keep calling this program AVRPROG as well.
Up until now the name hasn't really been a problem since there was no
chance to confuse 'avrprog' on Unix with Atmel's AVRPROG because
Atmel's tools only run on Windows. But with the Unix 'avrprog'
possibly being ported to Windows, I felt a name change was the best
way to avoid problems.
So - from this point forward, my FreeBSD Unix program formerly
known as AVRPROG will subsequently be known as AVRDUDE (AVR
Downloader/UploaDEr).
This change also represents a time when the AVRDUDE sources move from
my own private repository to a public repository. This will give
other developers a chance to port AVRDUDE to other platforms and
extend its functionality to support additional programming hardware,
etc.
So goodbye AVRPROG, welcome AVRDUDE!

598
ChangeLog-2001 Normal file
View File

@ -0,0 +1,598 @@
2001-12-30 Brian S. Dean <bsd@bdmicro.com>
* main.c: Update version.
* avrdude.conf.sample: Clarify a comment.
* avrdude.conf.sample: fix address bits
* avrdude.1: Bring up to date.
2001-12-29 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample: Add the AVR3 progammer.
* avr.c, avrdude.conf.sample, config_gram.y, main.c, pindefs.h:
Fix VCC assertion.
Make the BUFF pin a mask like VCC to allow multiple pins to be
asserted at the same time (STK200 has two buffer enable lines).
Add the STK200 programmer.
Fix EEPROM address line selection for several parts.
2001-12-15 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample: fix spelling error
2001-11-24 Brian S. Dean <bsd@bdmicro.com>
* Makefile:
Change "WARNING" to "NOTE" when overwriting the avrprog.conf file.
* avrdude.1: Add my e-mail address.
* avrdude.conf.sample:
Add comments about instruction formats. Correct an instruction
specification (cut&paste error).
2001-11-21 Brian S. Dean <bsd@bdmicro.com>
* avr.c, config_gram.y, lexer.l, term.c:
In interactive mode, reset the address and length if we start dumping
a memory type different than the previous one.
* avr.c, avrdude.conf.sample, config_gram.y:
Allow instruction data to be specified more flexibly, which can be
used to make the instruction input more readable in the config file.
* main.c: Bump version number.
* Makefile, avr.c, avr.h, avrdude.conf.sample, config.c, config.h:
* config_gram.y, fileio.c, fileio.h, lexer.l, main.c, term.c:
This is a major re-write of the programming algorithms. The Atmel
serial programming instructions are not very orthoganal, i.e., the
"read fuse bits" instruction on an ATMega103 is an entirely different
opcode and data format from the _same_ instruction for an ATMega163!
Thus, it becomes impossible to have a single instruction encoding
(varying the data) across the chip lines.
This set of changes allows and requires instruction encodings to be
defined on a per-part basis within the configuration file. Hopefully
I've defined the encoding scheme in a general enough way so it is
useful in describing the instruction formats for yet-to-be invented
Atmel chips. I've tried hard to make it match very closely with the
specification in Atmel's data sheets for their parts. It's a little
more verbose than what I initially hoped for, but I've tried to keep
it as concise as I could, while still remaining reasonably flexible.
2001-11-19 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avr.h, avrdude.conf.sample, main.c, ppi.c, term.c:
Add support for ATMega163.
Add support for reading/writing ATMega163 lock and fuse bits.
Unfortunately, in looking at the specs for other ATMega parts, they
use entirely different instruction formats for these commands. Thus,
these routines won't work for the ATMega103, for example.
Add support for sending raw command bytes via the interactive terminal
interface. This allows one to execute any programming instruction on
the target device, whether or not avrprog supports it explicitly or
not. Thus, one can use this feature to program fuse / lock bits, or
access any other feature of a current or future device that avrprog
does not know how to do.
Add in comments, an experimental instruction format in the
configuration file. If this works out, it would allow supporting new
parts and non-orthoganal instructions across existing parts without
making avrprog code changes.
2001-11-17 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample: Add ATMEGA163 part.
2001-11-11 Brian S. Dean <bsd@bdmicro.com>
* main.c: output formatting
2001-11-05 Brian S. Dean <bsd@bdmicro.com>
* ppi.c: Get ppi.h from /usr/include, not /sys.
2001-10-31 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avrdude.conf.sample, main.c: Correct version string.
Update read/write status more frequently.
Prefix ATMega parts with an 'm'.
2001-10-16 Brian S. Dean <bsd@bdmicro.com>
* avr.c: Change ording for memory display.
* config_gram.y: comment
* avr.c, avr.h, avrdude.conf.sample, config_gram.y, lexer.l, term.c:
Fix (again, hopefully) page addressing for the ATMega parts.
Rename the poorly chosen name "bank" to "page" for page addressing.
Atmel calls it "page" in their documentation.
* config_gram.y, main.c: Fix an (non)exit.
Silence a couple of compiler warnings.
* avr.c, avr.h, avrdude.conf.sample, config_gram.y, main.c:
Fix ATMega flash addressing. Add an ATMEGA16 part. Perform sanity
checking on the memory parameters for parts that do bank addressing.
2001-10-15 Brian S. Dean <bsd@bdmicro.com>
* config.c, config.h, lists.h: Add copyright.
* config_gram.y, lexer.l, lists.c: Add copyrights.
* Makefile: Attempt to install avrprog.conf.
* avrdude.conf.sample: Correct dt006 pinout.
* Makefile, lexer.l:
Try and detect an old-style config file and print an appropriate error
message and a suggestion for correcting it.
* Makefile, avr.c, avrdude.1, avrdude.conf.sample: Update the man page.
Miscellaneous minor cleanups.
2001-10-14 Brian S. Dean <bsd@bdmicro.com>
* Makefile, Makefile.inc, avr.c, avr.h, avrdude.conf.sample:
* config.c, config.h, config_gram.y, lexer.l, lists.c, lists.h:
* main.c, pindefs.h, term.c:
Use lex/yacc for parsing the config file. Re-work the config file
format using a more human-readable format.
Read part descriptions from the config file now instead of hard-coding
them.
Update usage().
Cleanup unused code.
* Makefile, avr.c, avr.h, fileio.c, term.c:
First cut at supporting the ATmega 103 which uses bank addressing and
has a 128K flash.
Due to the bank addressing required, interactive update of the flash
is not supported, though the eeprom can be updated interactively.
Both memories can be programmed via non-interactive mode.
Intel Hex Record type '04' is now generated as required for outputing
memory contents that go beyond 64K.
2001-10-13 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avr.h, fileio.c, fileio.h, main.c, ppi.c, ppi.h, term.c:
* term.h:
Style fixes.
* avr.c, avr.h, fileio.c, fileio.h, main.c, term.c:
Commit changes in preparation for support the ATMega line.
2001-10-01 Brian S. Dean <bsd@bdmicro.com>
* Makefile: Don't override CFLAGS.
* avrdude.1: Correct default pin assignment.
* avr.c, fileio.c, main.c, ppi.c, term.c:
Remove debugging code - it served its purpose.
Update copyrights.
2001-09-21 Brian S. Dean <bsd@bdmicro.com>
* main.c:
Be sure to read the exit specs after the pin configuration has been
assigned, otherwise, we may apply the exit specs to the wrong pins.
* main.c: debugging
2001-09-20 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1, avrdude.conf.sample, main.c:
Prefix pin config entries in the config file with a "c:". Later, I
might make part descriptions read in this way and we can use a
different letter for those (p). This will make the parsing easier to
distinguish between the entry types.
* main.c: Initialize pin configuration description.
2001-09-19 Brian S. Dean <bsd@bdmicro.com>
* AVRprog.pdf, Makefile, avr.c, avrdude.1, avrdude.conf.sample:
* avrdude.pdf, fileio.c, fileio.h, main.c, pindefs.h, term.c:
Make the pin definitions configurable based on entries in a config
file. This makes supporting other programmers much easier.
Rename AVRprog.pdf to avrprog.pdf.
2001-04-29 Brian S. Dean <bsd@bdmicro.com>
* avrprog-programmer.jpg: Remove this image file from the repository.
2001-04-26 Brian S. Dean <bsd@bdmicro.com>
* avrprog-schematic.jpg:
Remove this image, use AVRprog.pdf as the preferred schematic for the
programmer.
2001-04-25 Brian S. Dean <bsd@bdmicro.com>
* AVRprog.pdf, Makefile, avrdude.1:
Add a schematic provided by Joerg Wunch and also update the manual
page (also updated by Joerg) to reference the schematic.
2001-02-25 Brian S. Dean <bsd@bdmicro.com>
* Makefile, Makefile.inc: Automate dependency generation.
2001-02-08 Brian S. Dean <bsd@bdmicro.com>
* main.c: Turn off ready led when finished programming.
* main.c: update version
* avr.c, main.c: Correct a few comments.
* Makefile, avr.c, term.c: Makefile : update dependencies
avr.c : correct status led updates
term.c : update status leds on write, make the address and length
arguments for dump optional.
2001-01-26 Brian S. Dean <bsd@bdmicro.com>
* main.c: Version 1.1
* main.c:
Hmmm ... cvs co -D <timestamp> does not work. Change the revision
timestamp to a full date/time value.
* avr.c, fileio.c, main.c, ppi.c, term.c:
Add a -V option to display the version information about each
component module. This is intended for support purposes, so that I
can tell unambiguously what version a binary out in the field is.
Additionally, display a revision timestamp along with the version
number. This also is intended for aiding in support and is the Unix
time of the latest component module. Having this, should allow me to
do a "cvs co -D timestamp avrprog" and get exactly the source of the
version that is being reported.
* fileio.c:
Return the maximum address (+1) written as opposed to the actual
number of bytes written. The presence of an Intel Hex address
record can cause these two number to be different; but the callers
of this routine need the former.
* main.c:
Fix a place where we were exiting without applying the exit-specs.
Wrap a long line.
* avr.c, fileio.c: avr.c: Update a comment.
fileio.c: Properly handle all the Intel Hex record types that I can
find information about.
2001-01-25 Brian S. Dean <bsd@bdmicro.com>
* Usage, avr.h: Get rid of the Usage file.
2001-01-24 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avr.c, avr.h, main.c, pindefs.h, ppi.c:
Move pin definitions to their own file.
First pass at providing feedback via the optionally connected leds. I
don't actually have any of these attached to my programmer, so I can
only guess as whether this is toggling them on and off correctly.
Also, enable and disable the optional 74367 buffer.
* avr.h, main.c, ppi.c, ppi.h, avr.c:
Rearrange the pinout for the programmer to be a little more logical.
Provide hooks to support a buffered programmer, pin 6 is now used to
enable a buffer that can be used to isolate the target system from the
parallel port pins. This is important when programming the target
in-system.
Totally change the way the pin definitions are defined. Actually
set/clear pins based on the way more intuitive pin number, instead of
PPI data register, bit number combination. A table of pin data is
used so that any hardware inversion done by the parallel port is
accounted for, what you set is actually what appears at the pin.
Retain the old method for handling Vcc, however, because the hold
method is much easier to use when setting / retrieving multiple pins
simultaneously.
2001-01-22 Brian S. Dean <bsd@bdmicro.com>
* Makefile: Don't gzip the man page.
* avrdude.1: .Nm macro fix. Submitted by Joerg.
* main.c: Cosmetic, don't output a preceding linefeed for usage().
* Makefile, avr.c, avr.h, fileio.c, term.c:
Makefile : use gzip -f for man page installation so that we don't get
prompted.
avr.c avr.h fileio.c term.c :
Change the avrpart data structure so that the typedef AVRMEM is
used as an index into an array for the sizes of the memory types
and also for pointers to buffers that represent the chip data for
that memory type. This removes a lot of conditional code of the
form:
switch (memtype) {
case AVR_FLASH :
...
}
Also, re-code avr_read_byte() and avr_write_byte() to properly
handle the flash memory type without having to tell them whether
they should program the high byte or the low byte - figure that
out from the address itself. For flash memory type, these
routines now take the actual byte address instead of the word
address. This _greatly_ simplifies many otherwise simple
operations, such a reading or writing a range of memory, by not
having to worry about whether the address starts on an odd byte
or an even byte.
2001-01-20 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avr.h, fileio.c, fileio.h, main.c:
Return error codes instead of exiting, thus making sure that we exit
only via main() so that the exitspecs are properly applied.
When reading input data from a file, remember how many bytes were read
and write and verify only that many bytes.
Don't complain when an input file size is smaller than the memory size
we are programming. This is normal.
* fileio.c:
Correct checksum calculation; failure to account for the value of the
record type was causing non-zero record types to be calculated
incorrectly.
* Makefile, main.c: Makefile : install the man page
main.c : drop the giant usage text now that we have a man page.
* avrdude.1:
Add initial man page graciously contributed by Joerg Wunsch. Thanks
Joerg!
2001-01-19 Brian S. Dean <bsd@bdmicro.com>
* term.c:
Accept abbreviations for eeprom and flash for the dump and write
commands.
Fix small bug keeping 1 character command lines from being added to
the history.
* term.c:
Implement enough state in cmd_dump so that if it is called with no
arguments, it successively dumps the next chunk of data of the same
previously specified length.
* term.c, term.h, fileio.c, fileio.h, main.c, ppi.c, ppi.h:
* Makefile, avr.c, avr.h, avrprog.c:
The program was getting too large for a single file. Split it up into
more modular pieces.
Also, accept command abbreviations as long as they are not ambiguous.
* avrprog.c:
Add ability to specify the state of the power and reset pins on
program exit. Default to leaving the pins in the state they were when
we found them.
Contributed by: Joerg Wunsch
2001-01-18 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avrprog.c:
Switch to using readline() for getting terminal input. I can't seem
to get the history capabilities working yet, but even so, it does
better handling of the prompt and strips newlines for us, so it's
still a win.
Add a few new commands for terminal mode: help, sig, part, erase.
Display rudimentory help using the help command.
Add some function prototypes.
* Usage, avrprog.c:
Change -c (interactive command mode) to the more intuitive -t
(terminal mode).
Make binary format the default for output.
Update the parts table with corrections for old values and add some
new values.
2001-01-15 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c:
Automatically verify on-chip data with what we just programmed.
* avrprog.c, Makefile:
Prepare the Makefile for integration into the FreeBSD ports tree.
Fix a few "may be used uninitialized" bugs found by -Wall.
2001-01-14 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c: Free a buffer.
* avrprog.c:
Use a smarter programming algorithm - read the existing data byte
first and only write the new one if it is different.
Add -n option which is a test mode in which the chip is not actually
updated. This option does not affect writes in interactive mode.
* avrprog.c: Add the "dump" and "write" interactive commands.
* avrprog.c:
Correctly produce and handle "end of record" for intel hex files.
2001-01-13 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c:
Re-enable writing to the chip. I should probably should make this a
command-line selectable option so that I don't keep forgetting and
committing it with it disabled.
* avrprog.c:
Add a newline before exiting due to command line errors. Perform a
bit more option compatibility testing between -c, -i, and -o.
* avrprog.c: Add input file format auto-detection support.
* Usage, avrprog.c: Say what the defaults are.
* avrprog-programmer.jpg, Usage, avrprog-schematic.jpg: New files.
* avrprog.c: Correct usage text.
* avrprog.c:
Parameterize a few additional items per chip. Print out all per-chip
parameters on startup. Use the per-chip parameters in the code
instead of hard-coded values for the 2313.
* avrprog.c: Fix filename assignment error.
Clean up debugging code a little, utilize fileio() instead of making
direct calls to b2ihex().
* avrprog.c: A lot of general code cleanup.
Re-work command line options to be more intuitive.
Support Intel Hex input and output file formats. Provide hooks to
support Motorola S-Record as well.
Add a few more part-specific parameters to the avrpart structure.
Only write the flash or eeprom if the data to be written is not 0xff.
2000-12-31 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c: Update a comment.
* avrprog.c:
Provide the ability to tie additionally tie pins 6-9 of the parallel
port to Vcc in order to supply more current.
Fix a typo on the size of the S1200's Flash.
Bring RESET low when programming is completed.
* avrprog.c:
Correct pin connection comments. Elaborate a bit on Vcc connection.
* avrprog.c:
Update after receiving some good feedback from Joerg Wunsch. We
should now be able to program AT90S1200's.
2000-12-30 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c: Don't limit eeprom addresses.
2000-12-20 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avrprog.c:
Add support for the 8515. Make the addition for other devices easier.
2000-08-27 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c:
Clear all bits except AVR_RESET when finished reading or programming
the Atmel device.
2000-08-07 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c: update announcement message
* avrprog.c: Update announcement message.
* avrprog.c: Return the correct return code from 'main()'.
* avrprog.c:
Add ppi_pulse() function and fix ppi_toggle() to actully toggle
instead of pulse.
Make all abnormal returns after the parallel port has been opened go
through a single exit point at the bottom of 'main()'.
2000-08-06 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avrprog.c: Makefile: add --pedantic compiler option
avrprog.c:
Add lots of comments, move getop() variable declarations to
the top of the program.
Add a typedef name to the AVR memory type and use it for
function declarations.
Add a usleep() delay in the sense loop to avoid becoming a cpu
hog.
Print out a version string so that folks know what version of
the software they are running.
Be sure and close the parallel device and the i/o file when
terminating abnormally.
* avrprog.c: Print out version information when invoked.
* Makefile, avrprog.c: Makefile: Add an install target.
avrprog.c:
Add license.
Document the header a bit better.
Add capability to read out and display the device signature bytes.
Add capability to power the device from the parallel port.
Eliminate debug print facility.
Provide 'avr_cmd()' function.
When memory locations don't program, generate a newline so that the
information is not overwritten and lost.
Don't print out the message about needing to specify a file if the
user is not requesting an operation that requires the file.
2000-08-05 Brian S. Dean <bsd@bdmicro.com>
* avrprog.c: Pring usage when no arguments are supplied.
* Makefile, avrprog.c: Initial check-in
* Makefile, avrprog.c: New file.

237
ChangeLog-2002 Normal file
View File

@ -0,0 +1,237 @@
2002-12-12 Brian S. Dean <bsd@bdmicro.com>
* main.c: minor cleanup
2002-12-07 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1, main.c:
If the stk500 is being used, default to using the first serial port.
2002-12-03 Brian S. Dean <bsd@bdmicro.com>
* avrdude.1: Mention STK500 support.
2002-12-01 Brian S. Dean <bsd@bdmicro.com>
* stk500.c: Remove unused code.
* CHANGELOG, stk500.c:
Document changes since the previous version in the CHANGELOG.
Cleanup stk500.c a bit.
* stk500.c: Fix cut and paste braino.
* avr.c, avrdude.conf.sample, main.c, pgm.h, stk500.c:
The STK500 can perform paged read/write operations even on standard
"non-paged" parts. Take advantage of that and use the faster internal
routines of the STK500 for those parts as well.
* avr.c, avr.h, avrpart.h, main.c, pgm.c, pgm.h, stk500.c:
Optimize reading and writing for the STK500 programmer if the part
supports paged reads and writes. This greatly decreases the
program/verify time from about 4.5 minutes down to about 10 seconds in
a 12K program size test case.
Print out the hardware and firmware version for the STK500 if verbose
is enabled.
* avrdude.conf.sample, avrpart.h, config_gram.y, lexer.l, pgm.h:
* ppi.c, ppi.h, stk500.c, stk500.h, stk500_private.h:
Add basic support for STK500.
2002-11-30 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample, config.c, config.h, config_gram.y, lexer.l:
* main.c, pgm.c, pgm.h, ppi.c, ppi.h, term.c, term.h, Makefile:
* avr.c, avr.h:
Seperate programmer operations out into a driver-like interface so
that programmers other than the direct parallel port connection can be
supported.
2002-11-23 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG, main.c, term.c:
term.c - when in interactive terminal mode and dumping memory using
the 'dump <memtype>' command without any address information,
and the end of memory is reached, wrap back around to zero on
the next invocation.
CHANGELOG - describe changes
main.c - update version number
* main.c:
When getting ready to initiate communications with the AVR device,
first pull /RESET low for a short period of time before enabling the
buffer chip. This sequence allows the AVR to be reset before the
buffer is enabled to avoid a short period of time where the AVR may be
driving the programming lines at the same time the programmer tries
to. Of course, if a buffer is being used, then the /RESET line from
the programmer needs to be directly connected to the AVR /RESET line
and not via the buffer chip.
2002-11-06 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG: Update changelog.
* avr.c, avr.h, main.c: Fix -Y option. Reported by Joerg Wunsch.
2002-11-01 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG, main.c: Version update and CHANGELOG entry.
* avr.c:
Be backward compatible with the 2-byte rewrite cycle counter which
appeared in version 2.1.0, but was changed to a 4 byte counter in
version 2.1.1. Reminded by Joerg Wunsch.
2002-10-29 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG, avrdude.1, main.c:
Add '-V' (no verify) flag requested by Joerg Wunsch. Update the man
page.
2002-10-13 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG, avrdude.1: Update man page and changelog.
* main.c: Update version number.
2002-10-12 Brian S. Dean <bsd@bdmicro.com>
* Makefile: Remove --pedantic and -g from the compiler options.
2002-10-11 Brian S. Dean <bsd@bdmicro.com>
* avr.c, term.c:
Use a four byte value instead of a two byte value for the programming
cycle count stored at the end of EEPROM. It seems as though Atmel was
greatly conservative in claiming a 1000 count reliability for the
FLASH. I current have a part that has been reprogrammed 173330 times,
and counting.
Fix a compiler warning.
* avrdude.conf.sample:
Fix ATMega128 instruction encoding for reading the low and high fuse
bits. Thanks to Joerg Wunsch for tripping over this.
2002-08-01 Brian S. Dean <bsd@bdmicro.com>
* avr.c, avrdude.1, main.c:
Move erase-rewrite cycle increment to within the chip erase routine so
that it is tracked no matter where the erase was initiated: command
line mode or interactive mode, without code duplicaiton.
* CHANGELOG: Recent updates.
* avr.c: Eliminate unused variables.
* avr.c, avr.h, avrdude.1, fileio.c, main.c:
Implement a way of tracking how many erase-rewrite cycles a part has
undergone. This utilizes the last two bytes of EEPROM to maintain a
counter that is incremented each time the part is erased.
2002-07-27 Brian S. Dean <bsd@bdmicro.com>
* avr.c, main.c:
Fix a typo in a comment. Display the size of memory being written.
Display the correct memory name in an error message (previously
hardcoded).
2002-06-22 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG, avrdude.conf.sample:
Add support for ATtiny15 - contributed by Asher Hoskins
<asher@crumbly.freeserve.co.uk>
2002-04-23 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG: Say what changed.
2002-04-07 Brian S. Dean <bsd@bdmicro.com>
* Makefile, avrdude.conf.sample:
Backup the config file to a timestamped name to keep from possibly
overwriting user-modified configs.
Add read/write instructions for all memory types for ATMEGA103,
ATMEGA128, ATMEGA16, and ATMEGA8.
2002-04-05 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample:
Add support for ATMEGA128; untested; requested by Jeff Gardner
<gardner@journey.com>.
2002-02-15 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample: Minor ordering.
* CHANGELOG, main.c: Update version numbers.
2002-02-14 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG: Summarize latest updates.
* avrdude.conf.sample, config_gram.y:
Make pwroff_after_write a yes/no field instead of a numeric.
* avrdude.conf.sample: Document the pwroff_after_write flag.
* avr.c: Enable the extra part verbosity when verbosity >= 3.
* avr.c, avr.h, avrdude.conf.sample, config_gram.y, lexer.l:
* main.c, term.c:
Fix error reporting by avr_write_byte().
Fix setting of status LEDs under various write-fail conditions.
Add a flag to indicate that a memory type requires the device to
possibly be powered off and back on after a write to it. This is due
to a hardware problem on some Atmel devices, see:
http://www.atmel.com/atmel/acrobat/doc1280.pdf
Add greater verbosity to the part-display code when verbose>1 to
display avrprog's encoding of the defined programming instructions.
This is primarily for debugging purposes.
Part updates:
* add the AT90S4414 part
* add fuse and lock bit access instructions for the AT90S1200,
AT90S4434, and AT90S8515.
* add the pwroff_after_write flag to the fuse bits for the AT90S2333
and AT90S4433 parts
2002-02-09 Brian S. Dean <bsd@bdmicro.com>
* avrdude.conf.sample:
Updates to the 2333 and 4433 parts, contributed by Joerg Wunsh.
2002-01-18 Brian S. Dean <bsd@bdmicro.com>
* CHANGELOG: Add changelog.
2002-01-12 Brian S. Dean <bsd@bdmicro.com>
* main.c: Add (c) to copyright.
* fileio.c, fileio.h, lexer.l, lists.c, lists.h, main.c:
* pindefs.h, ppi.c, ppi.h, term.c, term.h, avr.c, avr.h:
* config.c, config.h, config_gram.y:
Update version number. Update copyright.
* avrdude.1: Update copyright and add description of "default".
Submitted by: Joerg Wunsch <j@uriah.heep.sax.de>
* avr.c, term.c:
Fix programming of write-only memories (such as lock bits on the
2313).

View File

@ -22,7 +22,8 @@
#
EXTRA_DIST = \
CHANGELOG \
ChangeLog-2001 \
ChangeLog-2002 \
avrdude.1 \
avrdude.pdf \
avrdude.spec \

236
NEWS
View File

@ -0,0 +1,236 @@
$Id$
Approximate change log for AVRDUDE by version.
(For more detailed changes, see the ChangeLog file.)
----------------------------------------------------------------------
Version 4.0.0
* Now support Linux - added by "Theodore A. Roth" <troth@openavr.org>
* Now support Windows - added by "E. Weddington" <eric@umginc.net>
* Use 'configure' scripts to tailor the code to the system avrdude
is getting ready to be compiled on - added by "Theodore A. Roth"
<troth@openavr.org>
* Motorola S-Record support - submitted by "Alexey V.Levdikov "
<tsar@kemford.com>
* Support parallel programming on the STK500. Introduce 'pagel' and
'bs2' keywords to the config file for this purpose.
* Add support for the AT90S2343
* Add support for the ATmega169
* Add ability to specify system defaults within the config file
(default parallel port, default serial port).
* Specify the default programmer seperately from the programmer
definition. This is now done in the config file using the
'default_programmer' keyword.
* Support a per-user config file (~/.avrduderc) so that one can
override system wide defaults if desired.
* Follow the datasheet more closely for several parts in the "retry"
code when entering programming mode fails initially. Introduce
'retry_pulse' to the config file for this purpose.
Version 3.1.0
* This change represents a name change only. There is currently an
effort to port AVRPROG to other platforms including Linux and
Windows. Since Atmel's programmer binary that's included within
their AVR Studio software is named AVRPROG.EXE on the Windows OS,
there is the chance for confusion if we keep calling this program
AVRPROG as well. Up until now the name hasn't really been a
problem since there was no chance to confuse 'avrprog' on Unix
with Atmel's AVRPROG because Atmel's tools only run on Windows.
But with the Unix 'avrprog' possibly being ported to Windows, I
felt a name change was the best way to avoid problems.
So - from this point forward, my FreeBSD Unix program formerly
known as AVRPROG will subsequently be known as AVRDUDE (AVR
Downloader/UploaDEr).
This change also represents a time when the AVRDUDE sources move
from my own private repository to a public repository. This will
give other developers a chance to port AVRDUDE to other platforms
and extend its functionality to support additional programming
hardware, etc.
So goodbye AVRPROG, welcome AVRDUDE!
Version 3.0.0
* Rewrite parts of the code to make it easy to support other types
of programmers besides the directly connected parallel port
programmer (PPI).
* Add support for Atmel's STK500 programmer/development board. The
STK500's "paged mode" read/write is supported which makes this
programmer very fast. This is sorely needed on parts with large
memories such as the ATmega128. My 12K test program burns in
about 5 seconds, add another 5 to read it back out for
verification.
Version 2.1.5:
* When getting ready to initiate communications with the AVR device,
first pull /RESET low for a short period of time before enabling
the buffer chip. This sequence allows the AVR to be reset before
the buffer is enabled to avoid a short period of time where the
AVR may be driving the programming lines at the same time the
programmer tries to. Of course, if a buffer is being used, then
the /RESET line from the programmer needs to be directly connected
to the AVR /RESET line and not via the buffer chip.
Feature contributed by Rick C. Petty <rick@KIWI-Computer.com>.
* When in interactive terminal mode and dumping memory using the
'dump <memtype>' command without any address information, and the
end of memory is reached, wrap back around to zero on the next
invocation.
Version 2.1.4:
* Fix -Y option.
Version 2.1.3:
* Be backward compatible when reading 2-byte rewrite cycle counters
as written by avrprog version 2.1.0. Version 2.1.1 changed over
to a 4-byte counter, which caused avrprog versions 2.1.1 and 2.1.2
to report a negative count for parts that were initialized using
version 2.1.0. Thanks to Joerg Wunsch for noticing this.
Version 2.1.2:
* Add '-V' option to disable automatic verify check with uploading
data.
Version 2.1.1:
* Fix ATmega128 instruction sequences for reading fuse bits -
contributed by Joerg Wunsch.
* Modify erase-rewrite cycle counter code to use a 4 byte counter
instead of a two byte counter.
Version 2.1.0:
* Implement a per-part erase-rewrite cycle counter; requires the use
of two bytes of EEPROM memory.
Version 2.0.5:
* Support for ATtiny15 - contributed by Asher Hoskins
Version 2.0.4:
* Config file fixes for various parts.
Version 2.0.3:
* Work around problem programming fuse bits on parts like the
at90s4433 as described in the following errata:
http://www.atmel.com/atmel/acrobat/doc1280.pdf
* Add part definition for at90s4414, at90s4433.
* Add fuse/lock bit memory instructions for the at90s1200,
at90s2333, at90s4433 and at90s8515.
* Fix setting of programmer status LEDs under certain write-fail
conditions.
Version 2.0.2 :
* Fix writing to read-only memories such as the lock bits of the
AT90S2313.
* Copyright updates.
Version 2.0.1 :
* Use correct parallel port pins for VCC.
* Add programmer definition for Atmel's STK200.
* Add programmer definition for the AVR3 board.
* Fix address bit encoding for many parts.
* Allow the ``BUFF'' signal to be asserted by multiple pins of the
parallel port (like VCC) instead of just one. The STK200 appears
to need this feature.
Version 2.0.0 :
* Add support for programming fuse and lock bits if supported by the
part.
* Move instruction encoding into the config file. Now any part can
be supported as long as it uses the same basic serial programming
instruction format.
* Add part definitions for the ATMega163 and ATMega8 devices.
Version 1.4.3 :
* Mostly internal code cleanup.
Version 1.4.2 :
* Fixes for ATMega paged memory support.
* Support for ATMega16 device.
Version 1.4.1 :
* No functional changes, update to Copyrights only.
Version 1.4.0 :
* Add part definitions to the config file.
* Add initial support for Atmel's ATMega paged memory parts.
* Config file documentation added.
* Add a definition for the Dontronics DT006 programmer.
* Fix Intel Hex support for addresses larger than 64k.
Version 1.3.0 :
* Make programmer pin assignments configurable.
Version 1.2.2 :
* Initial public release

6
README
View File

@ -0,0 +1,6 @@
See the documentation file for the details.
The latest version of AVRDUDE is always available here:
http://savannah.nongnu.org/projects/avrdude