From 6264404cc1ecf0b890f7da4c73b5e02285415c2f Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Fri, 10 Dec 2021 22:34:57 +0000 Subject: [PATCH 01/14] Allow for overriding make tool from environment gmake (GNU make) appears to handle some dependencies better here than bmake (BSD make). git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1515 81a1dc3b-b13d-400b-aceb-764788c761c2 --- tools/build-mingw32.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build-mingw32.sh b/tools/build-mingw32.sh index df49f1bc..0b448b25 100755 --- a/tools/build-mingw32.sh +++ b/tools/build-mingw32.sh @@ -51,4 +51,4 @@ env \ --host=$(../../config.guess) \ --target=${tgt} -make all +${MAKE:-make} all From 02a2cab296bbadb1def8bd1e75140c9d8b9e41ca Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Tue, 14 Dec 2021 22:03:51 +0000 Subject: [PATCH 02/14] Add a project-related INSTALL file git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1521 81a1dc3b-b13d-400b-aceb-764788c761c2 --- INSTALL | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NEWS | 1 + 2 files changed, 58 insertions(+) create mode 100644 INSTALL diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..e39787f8 --- /dev/null +++ b/INSTALL @@ -0,0 +1,57 @@ +Installation Instructions +************************* + +Use `./configure; make all; sudo make install' for Unix-like systems. + +Depending on your requirements, the following prerequisites are +needed: + +* libelf including header files (for directly reading ELF files) +* libusb 0.1 or 1.0 (or compatible), including header files +* libftdi or libftdi1 (for direct access to FTDI devices) +* libhidapi or libhid (for access to recent Atmel/Microchip dongles) + +If the header and/or library files for one of those are found in +non-default locations, you can add them to configure, e.g. + +`./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib' + +as an example for MacOS using Macports. MacOS Brew requires + +`./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/Cellar' + +instead. (LDFLAGS and CPPFLAGS can also be supplied as environment +variables to configure.) + +At the end of the configure script, a configuration summary is issued, +like this: + +Configuration summary: +---------------------- +DO HAVE libelf +DO HAVE libusb +DO HAVE libusb_1_0 +DO HAVE libftdi1 +DON'T HAVE libftdi +DON'T HAVE libhid +DO HAVE libhidapi +DO HAVE pthread +DISABLED doc +DISABLED parport +DISABLED linuxgpio +DISABLED linuxspi + +Make sure all the features you are interested in have been found. + +For BSD-like systems, using GNU make (gmake) is not mandatory but +appears to cause less troubles with the quite complex dependency graph +that might be produced by autoconf/automake. + +For Windows, right now, a toolset like MinGW is required to compile +AVRDUDE. + +Obviously, a working C compiler is needed. Tested compilers so far +include GCC (in various versions) and Clang. The compiler needs to +support (at least) C99 language level. For MacOS, either Xcode or the +(smaller) Xcode Command Line tools are needed, for Windows, some port +of GCC that supports generating native Windows executables. diff --git a/NEWS b/NEWS index 8047a5bc..556ddde2 100644 --- a/NEWS +++ b/NEWS @@ -83,6 +83,7 @@ Current: bug #55462: wrong programmer id check in jtag3_getsync() and jtag3_close() bug #58994: VPP PWM still enabled at the end of programming process bug #57338: if safemode has to change fuses avrdude should exit with non-zero exit code + bug #60575: Permission denied on macOS Big Sur * Patches: patch #9482: Add support for UPDI and AVR8X From 7015ebe0d6b6087ed5dfaa20992bd055a4b009cc Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Thu, 16 Dec 2021 21:02:35 +0000 Subject: [PATCH 03/14] Update for release of version 6.4 git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1523 81a1dc3b-b13d-400b-aceb-764788c761c2 --- ChangeLog | 5 +++++ NEWS | 2 +- configure.ac | 2 +- main.c | 6 +++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 537973bb..a8c99d1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2021-12-16 Joerg Wunsch + + * configure.ac (AC_INIT): Bump version to 6.4 + * main.c: Remove unmaintained year numbers from Copyright + 2021-12-06 Joerg Wunsch bug #57338: if safemode has to change fuses avrdude should exit with non-zero exit code diff --git a/NEWS b/NEWS index 556ddde2..36a360f4 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,7 @@ Approximate change log for AVRDUDE by version. (For more detailed changes, see the ChangeLog file.) ---------------------------------------------------------------------- -Current: +Version 6.4: * Major changes compared to the previous version: diff --git a/configure.ac b/configure.ac index 057f7d79..91fcf67a 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.60) -AC_INIT(avrdude, 6.3-20211205, avrdude-dev@nongnu.org) +AC_INIT(avrdude, 6.4, avrdude-dev@nongnu.org) AC_CANONICAL_BUILD AC_CANONICAL_HOST diff --git a/main.c b/main.c index 7f179d40..480e1dba 100644 --- a/main.c +++ b/main.c @@ -1,7 +1,7 @@ /* * avrdude - A Downloader/Uploader for AVR device programmers * Copyright (C) 2000-2005 Brian S. Dean - * Copyright 2007-2014 Joerg Wunsch + * Copyright Joerg Wunsch * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -677,8 +677,8 @@ int main(int argc, char * argv []) * they are running */ avrdude_message(MSG_NOTICE, "\n%s: Version %s\n" - "%sCopyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/\n" - "%sCopyright (c) 2007-2014 Joerg Wunsch\n\n", + "%sCopyright (c) Brian Dean, http://www.bdmicro.com/\n" + "%sCopyright (c) Joerg Wunsch\n\n", progname, version, progbuf, progbuf); avrdude_message(MSG_NOTICE, "%sSystem wide configuration file is \"%s\"\n", progbuf, sys_config); From e85d112891ce86737fc0a7f8e4ce4e78b7826fb2 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 10 Dec 2021 22:05:33 +0100 Subject: [PATCH 04/14] Add .gitattributes and .gitignore, remove .cvsignore --- .gitattributes | 4 ++++ .cvsignore => .gitignore | 28 ++++++++++++++++++++++++++-- doc/{.cvsignore => .gitignore} | 3 ++- windows/{.cvsignore => .gitignore} | 1 - 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 .gitattributes rename .cvsignore => .gitignore (62%) rename doc/{.cvsignore => .gitignore} (91%) rename windows/{.cvsignore => .gitignore} (71%) diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..39d86671 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +* text=auto eol=lf +*.sln text eol=crlf +*.vcxproj text eol=crlf +*.vcxproj.filters text eol=crlf diff --git a/.cvsignore b/.gitignore similarity index 62% rename from .cvsignore rename to .gitignore index 059edf8b..868950d0 100644 --- a/.cvsignore +++ b/.gitignore @@ -1,3 +1,6 @@ +.deps/ +.libs/ +m4/ *.diff *.patch y.output @@ -5,9 +8,7 @@ y.tab.h lexer.c config_gram.c config_gram.h -.cvsignore .depend -.deps INSTALL Makefile.in Makefile @@ -31,3 +32,26 @@ config.log config.status config.sub avrdude +libtool +ltmain.sh +ylwrap + +*.o +*.lo +*.a +*.la + +# Visual Studio +.vs/ +[Dd]ebug/ +[Rr]elease/ +x64/ +x86/ +*.suo +*.user +*.userosscache +*.sln.docstates +*.log + +# Visual Studio code +.vscode/ diff --git a/doc/.cvsignore b/doc/.gitignore similarity index 91% rename from doc/.cvsignore rename to doc/.gitignore index afe95fe9..c0147403 100644 --- a/doc/.cvsignore +++ b/doc/.gitignore @@ -1,4 +1,5 @@ -.cvsignore +avrdude.t2d/ +avrdude.t2p/ Makefile Makefile.in avrdude-html diff --git a/windows/.cvsignore b/windows/.gitignore similarity index 71% rename from windows/.cvsignore rename to windows/.gitignore index 601c4fbf..e9955884 100644 --- a/windows/.cvsignore +++ b/windows/.gitignore @@ -1,4 +1,3 @@ -.cvsignore .deps Makefile Makefile.in From 9d916b31a0eec78b6fd953d25b93d713e92b6ca8 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 10 Dec 2021 22:06:05 +0100 Subject: [PATCH 05/14] Add .editorconfig --- .editorconfig | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..f9262976 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,26 @@ +# EditorConfig: https://editorconfig.org + +root = true + +[{bootstrap,configure.ac,avrdude.spec.in,Makefile.am}] +charset = utf-8 +tab_width = 4 +indent_size = 4 +indent_style = tab + +[avrdude.conf.in] +indent_size = 4 +indent_style = space + +[*.{c,h,cpp,y}] +tab_width = 4 +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +charset = utf-8 +tab_width = 2 +indent_size = 2 +indent_style = space From 5596d06d935ff03ad05111d3b0a709c198b9a361 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 10 Dec 2021 22:06:44 +0100 Subject: [PATCH 06/14] Add README.md --- README.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..5fac4a7a --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# AVRDUDE + +AVRDUDE - AVR Downloader Uploader - is a program for downloading and uploading +the on-chip memories of Microchip’s [AVR microcontrollers](https://en.wikipedia.org/wiki/AVR_microcontrollers). +It can program the Flash and EEPROM, and where supported by the programming +protocol, it can program fuse and lock bits. +AVRDUDE also supplies a direct instruction mode allowing one to issue any +programming instruction to the AVR chip regardless of whether AVRDUDE +implements that specific feature of a particular chip. + +AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch, +with the help of [various contributors](/avrdudes/avrdude/graphs/contributors). + +## Getting AVRDUDE for Windows + +To get AVRDUDE for Windows, install the latest version from the [Releases](./releases) page: + +Alternatively, you may [build AVRDUDE](#building-avrdude-for-windows) yourself from source. + +## Getting AVRDUDE for Linux + +To install AVRDUDE for Linux, install the package `avrdude` by running the following commands: + +```console +sudo apt-get install avrdude +``` + +Alternatively, you may [build AVRDUDE](#building-avrdude-for-linux) yourself from source. + +## Using AVRDUDE + +AVRDUDE is a command-line application. Run the command `avrdude` without any arguments for a list of options. + +A typical command to program your HEX file into your AVR microcontroller looks like this: + +```console +avrdude -c -p -U flash:w::i +``` + +For instance, to program an **Arduino Uno** connected to the serial port **COM1** with a HEX file called `blink.hex`, +you would run the following command: + +```console +avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex:i +``` + +There are many different programmers and options that may be required for the programming to succeed. +For more information, refer to the [AVRDUDE documentation](#todo). + +## Building AVRDUDE for Windows + +### Windows Prerequisites + +TODO. + +### Windows Build Instructions + +TODO. + +## Building AVRDUDE for Linux + +### Linux Prerequisites + +To build AVRDUDE for Linux, you need to install the following packages: + +```console +sudo apt-get install build-essential git automake libtool flex bison libelf-dev libusb-dev libftdi1-dev libhidapi-dev +``` + +To build the documentation, you need to install the following packages: + +```console +sudo apt-get install texlive texi2html +``` + +### Linux Build Instructions + +To build AVRDUDE for Linux, run the following commands: + +```console +git clone https://github.com/avrdudes/avrdude +cd avrdude +./bootstrap +./configure +make +``` + +To build the documentation for AVRDUDE, run the following commands: + +```console +cd doc +make all +``` + +## License + +AVRDUDE is licensed under the [GNU GPLv2](./COPYING). From d5959d27b82a0115c9ff6ae6c3961acb86404661 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 10 Dec 2021 22:07:21 +0100 Subject: [PATCH 07/14] Remove README, AUTHORS, ChangeLog*, BUILD-FROM-SVN --- AUTHORS | 31 - BUILD-FROM-SVN | 13 - ChangeLog | 320 --------- ChangeLog-2001 | 598 ---------------- ChangeLog-2002 | 237 ------- ChangeLog-2003 | 1095 ---------------------------- ChangeLog-2004-2006 | 1644 ------------------------------------------- ChangeLog-2007 | 364 ---------- ChangeLog-2008 | 185 ----- ChangeLog-2009 | 411 ----------- ChangeLog-2010 | 354 ---------- ChangeLog-2011 | 489 ------------- ChangeLog-2012 | 729 ------------------- ChangeLog-2013 | 618 ---------------- ChangeLog-2014 | 697 ------------------ ChangeLog-2015 | 54 -- ChangeLog-2016 | 95 --- ChangeLog-2017 | 56 -- ChangeLog-2018 | 148 ---- ChangeLog-2019 | 20 - ChangeLog-2020 | 104 --- Makefile.am | 16 - README | 46 -- configure.ac | 2 +- 24 files changed, 1 insertion(+), 8325 deletions(-) delete mode 100644 AUTHORS delete mode 100644 BUILD-FROM-SVN delete mode 100644 ChangeLog delete mode 100644 ChangeLog-2001 delete mode 100644 ChangeLog-2002 delete mode 100644 ChangeLog-2003 delete mode 100644 ChangeLog-2004-2006 delete mode 100644 ChangeLog-2007 delete mode 100644 ChangeLog-2008 delete mode 100644 ChangeLog-2009 delete mode 100644 ChangeLog-2010 delete mode 100644 ChangeLog-2011 delete mode 100644 ChangeLog-2012 delete mode 100644 ChangeLog-2013 delete mode 100644 ChangeLog-2014 delete mode 100644 ChangeLog-2015 delete mode 100644 ChangeLog-2016 delete mode 100644 ChangeLog-2017 delete mode 100644 ChangeLog-2018 delete mode 100644 ChangeLog-2019 delete mode 100644 ChangeLog-2020 delete mode 100644 README diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index b01a9c12..00000000 --- a/AUTHORS +++ /dev/null @@ -1,31 +0,0 @@ -AVRDUDE was written by: - - Brian S. Dean - -Contributors: - - Joerg Wunsch - Eric Weddington - Jan-Hinnerk Reichert - Alex Shepherd - Martin Thomas - Theodore A. Roth - Juliane Holzt - Colin O'Flynn - Thomas Fischl - David Hoerl - Michal Ludvig - Darell Tan - Wolfgang Moser - Ville Voipio - Hannes Weisbach - Doug Springer - Brett Hagman - Rene Liebscher - Jim Paris - Jan Egil Ruud - David Mosberger - David Sainty - -For minor contributions, please see the ChangeLog files. - diff --git a/BUILD-FROM-SVN b/BUILD-FROM-SVN deleted file mode 100644 index 3a218f2d..00000000 --- a/BUILD-FROM-SVN +++ /dev/null @@ -1,13 +0,0 @@ -$Id$ - -How to build avrdude from SVN: - -1. svn co svn://svn.savannah.nongnu.org/avrdude/trunk - -2. cd trunk/avrdude - -3. ./bootstrap - -4. ./configure - -5. make diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index a8c99d1c..00000000 --- a/ChangeLog +++ /dev/null @@ -1,320 +0,0 @@ -2021-12-16 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 6.4 - * main.c: Remove unmaintained year numbers from Copyright - -2021-12-06 Joerg Wunsch - - bug #57338: if safemode has to change fuses avrdude should exit with non-zero exit code - * main.c (main): drop unused variable `fuses_specified' - -2021-12-06 Joerg Wunsch - - Submitted by Dmitrii Chernukhin: - bug #58994: VPP PWM still enabled at the end of programming process - * pickit2.c (pickit2_disable): turn off VPP before shutting down - -2021-12-05 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version date - * configure.ac (enabled_parport): Default to "no" - -2021-12-03 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10153: linuxspi: Support "-E reset" and "-E noreset" - * linuxspi.c (linuxspi_parseexitspecs): New function - -2021-11-27 Joerg Wunsch - - bug #58440: linuxgpio PIN limit too low - * libavrdude.h (PIN_MAX): bump (for HAVE_LINUXGPIO) to 400 - -2021-11-27 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #8923: Enable TPI for linuxgpio - * linuxgpio.c (linuxgpio_initpgm): add cmd_tpi entry - -2021-11-27 Joerg Wunsch - - Submitted by: Milan Kupcevic - patch #8996: Remove lock byte read mask (bug#21954, bug#46759) - * avrdude.conf.in (ATmega48, ATmega88, ATmega168, ATmega328) - (ATmega32U4, ATmega640, ATmega1280, ATmega1281, ATmega2560) - (ATmega2561, ATmega8, ATtiny13, ATmega64, ATmega128, ATmega16) - (AT90CAN32, AT90CAN64, AT90CAN128, ATmega324, ATmega644) - (ATmega1284, ATmega161, ATmega162, ATmega163, ATmega169, ATmega32) - (ATmega329, ATmega649, ATmega8515, ATmega8535, ATtiny2313, ATtiny4313) - (AT90PWM2, AT90USB646, AT90USB1286, AT90USB162, AT90USB82, ATmega32U2) - (ATmega16U2, ATmega8U2, ATmega325, ATmega645, ATtiny1634): Remove - lock byte read mask (bug#46759). - -2021-11-27 Joerg Wunsch - - Submitted by Christopher Cooper: - patch #9304: [Bug #48767] Implemented WinSock variation of "ser_drain(...)" functionality - * ser_win32.c (ser_drain): Implement a network drain - function. - -2021-11-27 Joerg Wunsch - - Submitted by Lars Ollén: - * linux_spi.c (linuxspi_open): ensure correct SPI mode is - set (submitted in the audit trail of patch #9816). - -2021-11-27 Joerg Wunsch - - * linuxspi.c: Use -B rather than -b - to specify the clock rate - -2021-11-27 Joerg Wunsch - - Improve defaults and documentation of linuxspi - * avrdude.conf.in: use @HAVE_LINUXGPIO_BEGIN/END@ and - @HAVE_LINUXSPI_BEGIN/END@ brackets around respective config - snippets; values were already set in configure.ac. - * linuxspi.c (linuxspi_open): Provide a reasonable (for the - Raspberry Pi) default for the -P option - * avrdude.1: Extend linuxspi documentation - * doc/avrdude.texi: (Dito.) - -2021-11-27 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10031: linuxspi: Support GPIO uAPI v2 - * linuxspi.c (linuxspi_reset_mcu, linuxspi_open): Since Linux - v5.10 GPIO ABI Version 1 is optional and depends on - CONFIG_GPIO_CDEV_V1. - -2021-11-27 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10030: linuxspi: Support inverted GPIO pin - * linuxspi.c (linuxspi_open): Clear the inversion mask on request - and set default state to avoid short glitches on the GPIO line. - -2021-11-27 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10029: linuxspi: Report GPIO_GET_LINEHANDLE_IOCTL errors - * linuxspi.c (linuxspi_open): Report ioctl error - -2021-11-27 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10028: linuxspi: close() only when necessary - * linuxspi.c: unify descriptor closing - -2021-11-27 Joerg Wunsch - - Submitted by Alex Sverdlin: - patch #10027: linuxspi: Add reset pulse, according to AVR programming algorithm - * linuxspi.c (linuxspi_open, linuxspi_program_enable): - movw out reset code into linuxspi_reset_mcu() - -2021-11-25 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9328: ft245r.c: add TPI support (patches 5-7) - * ft245r.c (ft245r_set_bitclock): add workaround for - FT245 hardware bugs in bitclock setting - -2021-11-25 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9328: ft245r.c: add TPI support (patches 5-7) - * ft245r.c: Remove the reader thread (also removes - patch #9079) - -2021-11-24 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9327: ft245r.c: add TPI support (patches 1-4) - * ft245r.c (set_pin, ft245r_open): use - ft245r_send_and_discard() so ft245r_in can go away - -2021-11-24 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9327: ft245r.c: add TPI support (patches 1-4) - * ft245r.c (ft245r_recv): Optimize TPI programming - speed by reducing number of USB reads. - -2021-11-24 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9327: ft245r.c: add TPI support (patches 1-4) - * ft245r.c (ft245r_open): add call to - ftdi_set_latency_timer() to improve timing - -2021-11-24 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9327: ft245r.c: add TPI support (patches 1-4) - * ft245r.c: add TPI support - * avrdude.conf.in (tc2030): New programmer - -2021-11-24 Joerg Wunsch - - * ft245r.c (ft245r_open): allow for picking a default - device if none has been provided by -P - -2021-11-24 Joerg Wunsch - - * jtag3.c (jtag3_edbg_recv_frame): Better handling for - fragment_info == 0x00 (no response available) - -2021-11-23 Joerg Wunsch - - * jtag3.c: Use matches() instead of strncmp() - -2021-11-23 Joerg Wunsch - - patch #9757: Fix ATtiny817 Xplained Mini programmer - * jtag3.c (jtag3_getsync, jtag3_close): correctly extract - programmer name from list of names - -2021-11-22 Joerg Wunsch - - Submitted by David Sainty: - patch #8719: Support Over-the-Air bootloading with XBeeBoot - * xbee.c: New programmer - * xbee.h: (Dito.) - * pgm_type.c: Add xbee.h - * avrdude.conf.in (xbee): New programmer - * Makefile.am (libavrdude_a_SOURCES): add xbee.c, xbee.h - * avrdude.1: document the new programmer - * doc/avrdude.texi: (Dito.) - -2021-11-14 Joerg Wunsch - - Submitted by Ivan Frederiks: - patch #9079: Fix ftdi_syncbb teardown (supersedes #9893) - patch #9122: Fixed MISO sampling in ftdi_syncbb - patch #9123: ftdi_syncbb: use FT245R_CYCLES in ft245r_set_bitclock() - * ft245r.c: Various fixes for FT245-bitbang programmers - -2021-11-14 Joerg Wunsch - - Submitted by David Mosberger-Tang: - patch #9320: fix TPI RESET in bitbang.c - * bitbang.c (bitbang_initialize): wait for 128 ms after deasserting - /RESET (per datasheet), and keep /RESET low during MOSI/MISO link check - -2021-11-12 Joerg Wunsch - - Submitted by Jon Thacker: - patch #9253: Fix for giving terminal_mode commands more than 20 arguments - * term.c (tokenize): fix realloc usage, pointer returned not necessarily - the same as pointer passed - -2021-11-12 Joerg Wunsch - - Submitted by Martino Facchin: - patch #9110: Let reserved fuse bits to be read as *don't care* - * avr.c (compare_memory_masked): New function - * libavrdude.h: declare compare_memory_masked(); also, insist on C99 - so is required now - * main.c: Use compare_memory_masked() in safemode comparisons - -2021-11-11 Joerg Wunsch - - Submitted by Joseph Coffland: - patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices - * stk500v2.c (stk600_xprog_read_byte, stk600_xprog_paged_load): - treat "prodsig" memory space as equivalent to "calibration" - -2021-11-07 Joerg Wunsch - - Submitted by Martin Thierer: - patch #10017: uspasp / tpi: Automatically clear configuration byte (fuse) before writing it - * usbasp.c (usbasp_tpi_paged_write): clear fuse region before writing it - -2021-11-07 Joerg Wunsch - - Submitted by Michael Petersen: - patch #9697: Add iseavrprog support - * avrdude.conf.in (iseavrprog): New programmer - -2021-11-07 Joerg Wunsch - - bug #50630: Erase Cycle Counter options ( -y -Y n ) should be removed from usage Message - * main.c (usage): remove -y / -Y descriptions - -2021-11-07 Joerg Wunsch - - * avrdude.conf.in (ATmega8A): new device (alias for ATmega8) - -2021-11-07 Joerg Wunsch - - bug #50517: Reading fails if "immediate mode" for output file format is selected - fileio: invalid operation=1 - * update.c (do_op): refuse to write to "immediate format" argument - -2021-11-07 Joerg Wunsch - - Submitted by Martin Thierer: - bug #60863: avrftdi programming error probably caused by multiple, consecutive empty pages - * avrftdi.c (avrftdi_flash_write): Skip empty pages - -2021-11-07 Joerg Wunsch - - Submitted by Matwey V. Kornilov: - bug #58495: Add atmega324pb support to avrdude.conf.in - * avrdude.conf.in (ATmega324PB): new entry - -2021-11-07 Joerg Wunsch - - bug #55734: USBtiny programming of ATmega328p broken by Patch #9278 - * usbtiny.c (usbtiny_initialize): undo change from patch #9728 - -2021-11-07 Joerg Wunsch - - bug #55009: no efuses for m164a/pa - * avrdude.conf.in (ATmega164P): derive from ATmega324P - -2021-11-07 Joerg Wunsch - - Submitted by evan Venn: - bug #59227: Add new part. How does one get a part added to the CONF file? - * avrdude.conf.in (LGT8FX88P, LGT8FX168P, LGT8FX328P): new parts - -2021-11-06 Joerg Wunsch - - Submitted by Britton Kerin: - bug #57453: [PATCH] fix reference to nonexistant -m option by changing to -U - * avrdude.1: replace -m option by -U - -2021-11-06 Joerg Wunsch - - Submitted by Andrew D'Addesio: - bug #58078: [PATCH] buspirate: remove compound literals (fixes GCC>=9) - * buspirate.c (buspirate_start_mode_bin): - avoid propagating local scope compound literals - -2021-11-06 Joerg Wunsch - - Submitted by Jan Egil Ruud: - patch #10000: Add support for extended UPDI device context - * avrdude.conf.in (pickit4_updi, snap_updi, pkobn_updi): - new programmers - * avrdude.conf.in (ATmega808, ATmega809, ATmega1608, ATmega1609) - (AVR DA, AVR DB): new devices - * jtag3.c: Add support for extended UPDI device context - * jtag3_private.h: (Dito.) - * tools/atdf-to-avrdude.xslt: Bug fixes - * usbdevs.h: Bump USBDEV_MAX_XFER_3 to 912 - * doc/avrdude.texi: Document changes - * avrdude.1: (Dito) - -2021-06-27 Joerg Wunsch - - bug #60753: Patch #1436 breaks multiple programmer/device combinations on MacOS BigSur - * avr.c: compare page_size > 1 instead of != 0 - * stk500v2.c: (Ditto.) - -2021-06-27 Joerg Wunsch - - Submitted by gerardoallende: - bug #59525: Bogus error message because Copy/Paste typo in stk500.c - * stk500.c (stk500_getparm): Fix bogus ID in error message diff --git a/ChangeLog-2001 b/ChangeLog-2001 deleted file mode 100644 index 048dcf1c..00000000 --- a/ChangeLog-2001 +++ /dev/null @@ -1,598 +0,0 @@ -2001-12-30 Brian S. Dean - - * 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 - - * 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 - - * avrdude.conf.sample: fix spelling error - -2001-11-24 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * avrdude.conf.sample: Add ATMEGA163 part. - -2001-11-11 Brian S. Dean - - * main.c: output formatting - -2001-11-05 Brian S. Dean - - * ppi.c: Get ppi.h from /usr/include, not /sys. - -2001-10-31 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * avrprog-programmer.jpg: Remove this image file from the repository. - -2001-04-26 Brian S. Dean - - * avrprog-schematic.jpg: - Remove this image, use AVRprog.pdf as the preferred schematic for the - programmer. - -2001-04-25 Brian S. Dean - - * 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 - - * Makefile, Makefile.inc: Automate dependency generation. - -2001-02-08 Brian S. Dean - - * 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 - - * main.c: Version 1.1 - - * main.c: - Hmmm ... cvs co -D 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 - - * Usage, avr.h: Get rid of the Usage file. - -2001-01-24 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * avrprog.c: Don't limit eeprom addresses. - -2000-12-20 Brian S. Dean - - * Makefile, avrprog.c: - Add support for the 8515. Make the addition for other devices easier. - -2000-08-27 Brian S. Dean - - * avrprog.c: - Clear all bits except AVR_RESET when finished reading or programming - the Atmel device. - -2000-08-07 Brian S. Dean - - * 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 - - * 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 - - * avrprog.c: Pring usage when no arguments are supplied. - - * Makefile, avrprog.c: Initial check-in - - * Makefile, avrprog.c: New file. - diff --git a/ChangeLog-2002 b/ChangeLog-2002 deleted file mode 100644 index 9bfa030a..00000000 --- a/ChangeLog-2002 +++ /dev/null @@ -1,237 +0,0 @@ -2002-12-12 Brian S. Dean - - * main.c: minor cleanup - -2002-12-07 Brian S. Dean - - * avrdude.1, main.c: - If the stk500 is being used, default to using the first serial port. - -2002-12-03 Brian S. Dean - - * avrdude.1: Mention STK500 support. - -2002-12-01 Brian S. Dean - - * 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 - - * 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 - - * CHANGELOG, main.c, term.c: - term.c - when in interactive terminal mode and dumping memory using - the 'dump ' 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 - - * CHANGELOG: Update changelog. - - * avr.c, avr.h, main.c: Fix -Y option. Reported by Joerg Wunsch. - -2002-11-01 Brian S. Dean - - * 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 - - * CHANGELOG, avrdude.1, main.c: - Add '-V' (no verify) flag requested by Joerg Wunsch. Update the man - page. - -2002-10-13 Brian S. Dean - - * CHANGELOG, avrdude.1: Update man page and changelog. - - * main.c: Update version number. - -2002-10-12 Brian S. Dean - - * Makefile: Remove --pedantic and -g from the compiler options. - -2002-10-11 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * CHANGELOG, avrdude.conf.sample: - Add support for ATtiny15 - contributed by Asher Hoskins - - -2002-04-23 Brian S. Dean - - * CHANGELOG: Say what changed. - -2002-04-07 Brian S. Dean - - * 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 - - * avrdude.conf.sample: - Add support for ATMEGA128; untested; requested by Jeff Gardner - . - -2002-02-15 Brian S. Dean - - * avrdude.conf.sample: Minor ordering. - - * CHANGELOG, main.c: Update version numbers. - -2002-02-14 Brian S. Dean - - * 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 - - * avrdude.conf.sample: - Updates to the 2333 and 4433 parts, contributed by Joerg Wunsh. - -2002-01-18 Brian S. Dean - - * CHANGELOG: Add changelog. - -2002-01-12 Brian S. Dean - - * 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 - - * avr.c, term.c: - Fix programming of write-only memories (such as lock bits on the - 2313). - diff --git a/ChangeLog-2003 b/ChangeLog-2003 deleted file mode 100644 index 1115bdfb..00000000 --- a/ChangeLog-2003 +++ /dev/null @@ -1,1095 +0,0 @@ -2003-12-01 Eric B. Weddington - - * doc/avrdude.texi: Update devices and programmers supported. - -2003-12-01 Eric B. Weddington - - * doc/avrdude.texi: Add missing -D option to user manual. - [This fixes bug #6804] - -2003-11-30 Jan-Hinnerk Reichert - - * avrpart.c,main.c: Moved list_parts() and locate_part() - from main.c to avrpart.c. - * avrpart.h: Added prototypes for list_parts() and - locate_part(). - -2003-11-30 Jan-Hinnerk Reichert - - * avrpart.c, avr.c: Moved elementary functions on types - OPCODE, AVRMEM and AVRPART from avr.c to new file avrpart.c. - * avr.h: Removed prototypes for moved functions. - * avrpart.h: Added prototypes for functions in avrpart.c. - * Makefile.am: Added new file avrpart.c. - -2003-11-28 Michael Mayer - - * lexer.l: New programmer type "butterfly". - * config_gram.y: New token K_BUTTERFLY. - * avrdude.conf.in: Added programmer definition. - * butterfly.c, butterfly.h: Cloned from avr910.?, changed to work - with the Atmel Butterfly device. - * Makefile.am: Added butterfly.[ch] to avrdude_SOURCES. - -2003-11-26 Joerg Wunsch - - * main.c: Make the -U parser tolerate colons in filenames. - * avrdude.1, doc/avrdude.texi: Document the -U changes. - -2003-11-21 Jan-Hinnerk Reichert - - * ppi.c: Major speed tuning. Since ioctl() is expensive read from - shadowregisters where possible. - -2003-11-19 Eric B. Weddington - - * NEWS: Update news from items in ChangeLog. - -2003-11-19 Theodore A. Roth -[Contributed by Jan-Hinnerk Reichert ] - - * avr.c (avr_write_byte_default): Improve polling algorithm to speed up - programming of byte oriented parallel programmers. - -2003-11-14 Brian S. Dean -[Contributed by Erik Christiansen ] - - * avrdude.conf.in: - Add ATmega64 part. - -2003-11-08 Joerg Wunsch - - * avrdude.conf.in: - Add "fuse" and "lock" definitions for the AT90S8535. Actually, - this is stolen from the AT90S8515 since the datasheet says it's - the same there. - -2003-10-13 Bill Somerville - - * stk500.c (stk500_paged_write): Limit blocks written to no bigger - than memory device size. - (stk500_paged_write): Send whole block at once. - (stk500_paged_load): Limit blocks read to no bigger than memory - device size. - [This fixes bug #5713.] - -2003-10-13 Eric B. Weddington - - * avrdude.conf.in: Fix for unterminated character error. - -2003-10-13 Eric B. Weddington - - * avrdude.conf.in: Add ATmega8515 definition. - Contributed by: Matthias Weier - * NEWS: Add note about ATmega8515 definition. - -2003-09-24 Eric B. Weddington - - * doc/TODO: Updated TODO list. - -2003-09-22 Eric B. Weddington - - * windows/Makefile.am: Correct makefile so loaddrv does not link - to Cygwin DLL. - -2003-09-18 Eric B. Weddington - - * doc/avrdude.texi: Minor corrections. Change description of -P - to reference platform dependencies. - -2003-09-16 Eric B. Weddington - - * stk500.c: If writing flash, skip empty pages in paged write. - -2003-09-06 Theodore A. Roth - - * NEWS: Add 'Current:' header. - * configure.ac (AC_INIT): Add cvs back to version since we're - back in dev cycle (post release). - -2003-09-06 Theodore A. Roth - - * AVRDUDE 4.2.0 has been released (cvs release tag is "release_4_2_0"). - -2003-09-06 Theodore A. Roth - - * NEWS: Update for 4.2.0 release. Add note about read/write of fuses - support for avr910. - * configure.ac (AC_INIT): Set version to 4.2.0. - -2003-09-05 Theodore A. Roth -[Contributed by Jan-Hinnerk Reichert ] - - * avr.c (avr_read_byte): If pgm->read_byte method fails, retry with - avr_read_byte_default. - * avr.c (avr_write_byte): If pgm->write_byte method fails, retry with - avr_write_byte_default. - * avr910.c (avr910_cmd): Implement using universal command. - -2003-09-04 Theodore A. Roth - - * Makefile.am: Change AM_CPPFLAGS to avrdude_CPPFLAGS. - Define avrdude_CFLAGS. - * configure.ac: Set ENABLE_WARNINGS to "-Wall" if using gcc. - -2003-09-02 Eric B. Weddington - - * doc/avrdude.texi: Add note about privileges needed to load - the giveio driver for Windows. - -2003-08-29 Brian S. Dean - - * avrdude.1: - * main.c: - Perform an auto erase before programming if the flash memory is - anywhere specified to be written by any of the -U requests. - - To remain backward compatible with previous versions, disable this - feature if any of the old-style memory specification operations are - specified (-i, -o). - - Implement the -D option to explicitly disable the auto erase default. - - Deprecate the old-style memory specification options (-f, -i, -I, -m, - and -o) in favor of the new -U option which allows one to operate on - multiple memories on a single command line. - -2003-08-28 Eric B. Weddington - - * avr910.c: - * fileio.c: - * main.c: - * stk500.c: - More code cleanup to remove warnings. - -2003-08-27 Theodore A. Roth - - * main.c (update_progress_no_tty): Properly terminate progress. Also - fixes stk500 problem where number of bytes written is less than a page. - -2003-08-27 Theodore A. Roth - - * avrdude.spec.in: Fix broken rpmbuild on RedHat-9. - -2003-08-25 Eric B. Weddington - - * fileio.c: - * main.c: - * ppiwin.c: - * ser_posix.c: - * stk500.c: - Minor code cleanup to remove warnings. - -2003-08-21 Brian S. Dean - - * avrdude.1: - * main.c: - - Introduce a new option, -U, for performing memory operions. - Its argument is a 4 field string (fields seperated by colons) - which indicate what memory type to operate on, what operation - to perform is (read, write, or verify), the filename to read - from, write to, or verify against, and an optional file format - field. Multple -U options can be specified to operate on more - than one memory at a time with a single invocation. For - example, to update both the flash and the eeprom at the same - time one can now specify the following: - - avrdude -p -e -U flash:w:main.hex:i -U eeprom:w:eeprom.hex:i - -2003-08-20 Brian S. Dean - - * ppiwin.c: - Timing related fixes for the Windows platform. Several folks have - reported that this patch fixes verify errors on the Windows platform - that are apparently timing related. Submitted by: Alex Shepherd - , who indicates that this patch was based on - code from the UISP project. - -2003-08-01 Theodore A. Roth - - * avrdude.1: Document the -q option. - * doc/avrdude.texi: Document the -q option. - Fix some typos left over from pasting in man output. - -2003-07-30 Brian S. Dean - - * main.c: Add elapsed time information to the new progress bar. - -2003-07-29 Theodore A. Roth - - * avr.c: - * avr.h: - * avr910.c: - * main.c: - * stk500.c: - New progress reporting implementation. - -2003-07-24 Joerg Wunsch - - * avrdude.1: - * doc/avrdude.texi: - * pgm.c: - * pgm.h: - * stk500.c: - * stk500_private.h: - * term.c: Add support for displaying and setting the various - operational parameters of the STK500 (Vtarget, Varef, clock). - -2003/07/22 Brian S. Dean - - * avrdude.conf.in: - Add 'picoweb' programming cable programmer. - Contributed by Rune Christensen . - -2003-06-18 Brian S. Dean - - * avrdude.conf.in: - Add the 'sp12' (Steve Bolt's) programmer. - Submitted by Larry Barello . - -2003-06-17 Brian S. Dean - - * avrdude.conf.in: - Properly identify the "ALF" programmer. - - Extend ATmega8 calibration memory to support all 4 calibration bytes. - Savannah bug #3835. Submitted by Francisco T. A. Silva - . - - Add a few AVR910 programmer device codes. Savannah bug #3569 - sorry - I can't tell who submitted this to give proper credit. - - Add support for the ATtiny12. Submitted by Pontifex - -2003-05-22 Brian S. Dean - - * avr.c: - * avr.h: - * fileio.c: - Optimize flash memory handling a little bit by ignoring 0xff data that - resides above the last non-0xff data value in the address space. Only - do this for flash memory since writing a 0xff to flash is a no-op. - This has the affect of creating smaller output files when dumping - memory contents from flash if the program in flash does not consume - the whole memory space. It also results in shorter programming times - when avrdude is asked to load a file into flash that has lots of 0xff - filled data past the last non-0xff data value. - -2003-05-13 Theodore A. Roth - - * avr910.c (avr910_paged_write_flash): Add code to send the 'm' - command ("issue page write" cmd) for each page. - -2003-05-13 Theodore A. Roth - - * avrdude.conf.in: Add pagel and bs2 entries for at90s1200 device. - -2003-05-13 Theodore A. Roth - - * doc/TODO: Add note about avr910 device codes. - -2003-05-04 Theodore A. Roth - - * configure.ac: Check for ncurses library (since it can be a - replacement for termcap). - -2003-05-02 Theodore A. Roth - - * avrdude.conf.in: Add avr decodes for devices known in avr910 - firmware version 2.3. - Add missing stk500 devocde for 2343. - -2003-04-23 Eric B. Weddington - - * fileio.c: Fix for bug #3293. Set correct open mode for raw format - for Windows. - -2003-04-19 Brian S. Dean - - * avrdude.1: - * fileio.c: - * fileio.h: - * main.c: - Implement and "immediate mode" for file input - this allows - one to specify byte values on the command line instead of via - a file. This can be good for specifying fuse bytes and - eliminates the need to create single-byte files or using - interactive terminal mode for these single-byte memories. - Requested by several folks on the mailing list. - -2003-04-18 Theodore A. Roth - - * configure.ac: Add cvs suffix back to version. - * doc/TODO: Add a few items. - -2003-04-18 Theodore A. Roth - - * AVRDUDE 4.1.0 has been released (cvs release tag is "release_4_1_0"). - -2003-04-17 Theodore A. Roth - - * configure.ac: Set version to 4.1.0. - * doc/avrdude.texi: Add note about avr910 programmer type. - -2003-04-17 Eric B. Weddington - - * NEWS: Replace TBD with new release version. - -2003-04-17 Eric B. Weddington - - * avrdude.conf.in: Change name of pony programmer to pony-stk200 - to better describe the hardware (PonyProg is software that works - with various hardware). - -2003-04-16 Eric B. Weddington - - * avrdude.conf.in: Add support for ATtiny26 - Submitted by Artur Lipowski - * NEWS: List new devices supported: ATtiny26 - -2003-04-16 Eric B. Weddington - - * avrdude.conf.in: Add support for ATmega8535 - Submitted by Alexander Peter - * NEWS: List new devices supported: ATmega8535 - -2003-04-09 Theodore A. Roth - - * avr910.c: Reading a 16 bit word in paged load needs to swap the - bytes since the 'R' command returns MSB first and the internal buffer - stores LSB first. - -2003-04-07 Theodore A. Roth - - * stk500.c: Don't print out read/write byte progress unless the verbose - option is given. - -2003-04-05 Theodore A. Roth - - * avr910.c: Re-add the avr910 byte read/write methods which were - removed in my previous patch. Terminal mode read/writes are broken - without those methods. D'oh! - -2003-04-05 Theodore A. Roth - - * avr910.c: Refactor to allow probing for auto addr increment. If auto - incr supported by programmer hw, don't send addr for every byte. - -2003-04-03 Eric B. Weddington - - * confwin.c: Fix bug that allows garbage for non-existent user - config filename on Windows. - -2003-03-29 Brian S. Dean - - * avrdude.conf.in: - Add the ATmega32 part. This part definition was contributed by: - Daniel Williamson and - Ruwan Jayanetti - The resulting part definition used was actually somewhat of a merge of - the two submitted definitions. - -2003-03-24 Theodore A. Roth - - * NEWS: Add note about avr910 support. - -2003-03-23 Theodore A. Roth - - * avr.c (avr_write): Add call to pgm->write_setup() before the write - loop. - * avr910.c: Change all show_func_info() calls to no_show_func_info(). - Add read/write to/from flash/eeprom memory functionality. - * pgm.c: Initialize pgm->write_setup. - * pgm.h: Add write_setup field to PROGRAMMER structure. - * ser_posix.c: Remove unneeded cast in verbosity code. - -2003-03-23 Theodore A. Roth - - * ser_posix.c: Limit verbose output to 2 chars. - -2003-03-23 Theodore A. Roth - - * ser_posix.c: Add verbose level > 3 output for send and recv functions. - -2003-03-23 Theodore A. Roth - - * avr.c: Add avr_read_byte_default(). - Have avr_read_byte() call pgm->read_byte() or avr_read_byte_default(). - Add avr_write_byte_default(). - Have avr_write_byte() call pgm->write_byte or avr_write_byte_default(). - * pgm.c: Initialize pgm->write_byte and pgm->read_byte. - * pgm.h: Add write_byte and read_byte fields to struct programmer_t. - -2003-03-17 Theodore A. Roth - - * avrdude.conf.in: Fix typo for devicecode deprecation comment. - -2003-03-17 Eric B. Weddington - - * avrdude.conf.in: Add Bascom SAMPLE programmer. - Submitted by Larry Barello - -2003-03-16 Theodore A. Roth - - * avr.c (avr_read): Use pgm->read_sig_bytes to read signature bytes if - available. - * avr910.c (avr910_vfy_cmd_sent): New function. - (avr910_chip_erase): Add support for chip erase. - (avr910_enter_prog_mode): New function. - (avr910_leave_prog_mode): New function. - (avr910_initialize): Add code to select device type and enter prog mode. - (avr910_close): Leave programming mode before closing serial port. - (avr910_read_sig_bytes): New function. - (avr910_initpgm): Add avr910_read_sig_bytes method to pgm initializer. - * avrdude.conf.in: Add note about deprecating devicecode. - Change all occurences of devicecode to stk500_devcode. - Add avr910_devcode to a few parts for testing. - * avrpart.h (struct avrpart): Change devicecode field to stk500_devcode. - (struct avrpart): Add avr910_devcode field. - * config_gram.y: Add K_STK500_DEVCODE and K_AVR910_DEVCODE tokens. - Generate an error if devicecode is found in the config file. - Handle parsing of avr910_devcode and stk500_devcode. - * lexer.l: Handle parsing of avr910_devcode and stk500_devcode. - * pgm.c: Initialize pgm->read_sig_bytes field. - * pgm.h: Add pgm->read_sig_bytes field. - * stk500.c: Use stk500_devcode instead of devicecode. - -2003-03-16 Theodore A. Roth - - * avrdude.conf.in: Add avr910 and pavr programmers. - * config_gram.y: Add parsing of avr910 programmer. - * lexer.l: Add avr910 token. - * avr910.c: [this is still work in progress] - Add some debug output. - Add probe for programmer presense. - * main.c: Set port to default_serial if programmer type is avr910. - -2003-03-13 Theodore A. Roth - - * ser_posix.c, ser_win32.c, serial.h: - Change baud from int to long to avoid a 16-bit int overflow. - -2003-03-12 Theodore A. Roth - - * Makefile.am (avrdude_SOURCES): Add avr910.[ch], serial.h and - ser_posix.c files. - * avr910.c: New file (stubs for avr910 serial programmer). - * avr910.h: New file. - * ser_posix.c: New file. - * ser_win32.c: New file (just stubs for now). - * serial.h: New file. - * stk500.c: Move all the code for accessing the posix serial ports - into ser_posix. This will make a native win32 port easier and allows - the avr910 programmer to share the serial code. - -2003-03-12 Theodore A. Roth - - * configure.ac (AC_INIT): Set version to 4.0.0cvs since we're done - with 4.0.0 release. - -2003-03-12 - - * AVRDUDE 4.0.0 has been released (cvs release tag is "release_4_0_0"). - -2003-03-11 Theodore A. Roth - - * Makefile.am: Add CLEANFILES to remove all files from a make. - * doc/Makefile.am: Ditto - -2003-03-11 Theodore A. Roth - - * windows/Makefile.am: Fix uninstall-local rule (forget the $$file - part of the rm command). - -2003-03-11 Theodore A. Roth - - * 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 - - * doc/avrdude.texi: - Add Install and Documentation sections for Windows. Fix typo. - -2003-03-10 Theodore A. Roth - - * Makefile.am: * Makefile.am (EXTRA_DIST): Add CHANGELOG. - -2003-03-10 Brian S. Dean - - * stk500.c: Disable debugging printf. - - * configure.ac: Update version number in preparation for release. - -2003-03-10 Theodore A. Roth - - * 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 - - * avrdude.1: Minor man page updates to better reflect reality. - -2003-03-10 Joerg Wunsch - - * 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 - - * 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 - - * 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 - - * avrdude.conf.in: Add a definition for the popular Ponyprog dongle. - - Submitted by: Daniel Williamson - -2003-03-05 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/avrdude.texi: Initial manual. - -2003-02-27 Theodore A. Roth - - * term.c: * term.c: Use fgets() if readline() is not available. - -2003-02-27 Joerg Wunsch - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * main.c, par.c: - Make verbose global. Make debug code in par_cmd() based on verbose=2. - -2003-02-20 Brian S. Dean - - * 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 - - * 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 - - * 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 - - * avrdude.1: Fix spacing for m169 entry. (tabs not spaces ;-) - -2003-02-20 Brian S. Dean - - * avrdude.1, fileio.c, main.c: Add Motorola S-record support. - - Submitted by: "Alexey V.Levdikov" - -2003-02-19 Theodore A. Roth - - * avrdude.1: Add m169 to list of supported targets. - -2003-02-19 Joerg Wunsch - - * avrdude.conf.sample, avrdude.1: - My colleague contributed a part definition for the AT90S2343. - - Submitted by: Mirko Kaffka - -2003-02-18 Theodore A. Roth - - * 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 - - * Makefile.am: Add $srcdir to sample config filename so that - building in a separate dir works. - -2003-02-15 Joerg Wunsch - - * 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 - - * 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 - - * stk500.c: Fix typos. Fix error messages. - -2003-02-13 Brian S. Dean - - * 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 - - * .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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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! diff --git a/ChangeLog-2004-2006 b/ChangeLog-2004-2006 deleted file mode 100644 index 879965bf..00000000 --- a/ChangeLog-2004-2006 +++ /dev/null @@ -1,1644 +0,0 @@ -2006-12-23 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 5.3cvs (again). - -2006-12-22 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 5.3.1. - * avrdude.conf.in (frank-stk200): Fix syntax error. - * ser_avrdoper.c: Make #ifdef for Win32/libhid - consistent with the initial check: use the HID driver - only iff found, otherwise use libusb. - -2006-12-21 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 5.3cvs. - -2006-12-21 Joerg Wunsch - - Released AVRDUDE 5.3. - -2006-12-21 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 5.3. - -2006-12-21 Joerg Wunsch - - Submitted by Vince VG: - * avrdude.conf.in (frank-stk200): New programmer added. - * doc/avrdude.texi: Mention frank-stk200. - Closes patch #5502: one other programmer - -2006-12-21 Joerg Wunsch - - Submitted by Christian Starkjohann: - * ser_avrdoper.c (usbOpenDevice): clear the error code when - returning successfully. - -2006-12-21 Joerg Wunsch - - Submitted by Christian Starkjohann: - patch #5507: Support for AVR-Doper USB programmer in HID mode - * configure.ac: Add hooks to detect the Win32 HID library, - as well as the existence of . - * Makefile.am: Add new files. - * my_ddk_hidsdi.h: (New file.) - * ser_avrdoper.c: (New file.) - * serial.h: Add declaration for avrdoper_serdev. - * stk500v2.c: Add hook to divert to the AVR Doper code. - * avrdude.1: Document the AVR Doper support. - * doc/avrdude.texi: (Ditto.) - -2006-12-15 Joerg Wunsch - - Submitted by ivanv at netman.ru - * jtagmkI.c: fix length for single-byte write operations. - Closes bug #18527 JTAG ICE: fuse bits have been writen incorrectly - -2006-12-11 Joerg Wunsch - - * jtagmkII.c (jtagmkII_paged_write): Remove a debugging - usleep(1000000) that accidentally crept in in rev 1.19. - -2006-12-11 Joerg Wunsch - - * ser_posix.c (ser_open): Do fill in fdp->ifd before already - using it in ser_setspeed(). - -2006-12-11 Joerg Wunsch - - * jtagmkI.c (jtagmkI_close): revert baud rate to the initial - value in case we had changed it. - Fixes bug #18262: JTAGMKI/JTAG1 Reset Bug - -2006-12-11 Colin O'Flynn - - * safemode.c: Stop ignoring return values! - Closes bug #18339 - -2006-12-11 Joerg Wunsch - - Submitted by Nick Lott: - * avrdude.conf.in: Fix signature for ATmega8515. - Closes bug #18348: ATMEGA8515 Signature is wrong in avrdude.conf - -2006-12-11 Joerg Wunsch - - * avr.c: Fix a bug introduced in rev. 1.69, when implementing the - fallback from each programmer's paged_load() or paged_write() - method, respectively. The return value needs to be checked for - being greater or equal than 0 rather equal to 0 in order to - assume the operation has been successful. - Fixes bug #18489: avrdude is too slow (20 byte/s) - -2006-12-11 Joerg Wunsch - - * avr910.c: Make the code compile warning-free: - - declare a dummy "struct timezone" for some Win32 systems (MinGW) - - fix a few printf() argument types - - get rid off the prevailing "all filedescriptors are of type int" - attitude - The last item required a large sweep across the code, in order to - replace all "int fd"s by "struct filedescriptor *fd"s, and pass - pointers (as we cannot pass a union directly). In return, the - code is now supposed to be fully 64-bit safe, rather than relying - on a 64-bit pointer being converted to a (32-bit) int and back - to a pointer as we did previously. - * butterfly.c: (Ditto.) - * jtagmkI.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * lists.c: (Ditto.) - * par.c: (Ditto.) - * pgm.h: (Ditto.) - * ppi.c: (Ditto.) - * ppi.h: (Ditto.) - * ppiwin.c: (Ditto.) - * ser_posix.c: (Ditto.) - * ser_win32.c: (Ditto.) - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * serial.h: (Ditto.) - * stk500.c: (Ditto.) - * stk500v2.c: (Ditto.) - * usb_libusb.c: (Ditto.) - -2006-11-23 Joerg Wunsch - - Implement EEPROM access through debugWire. - * jtagmkII.c: Extend the jtagmkII_read_byte() and - jtagmkII_write_byte() methods to handle EEPROM through - debugWire. - * avrpart.h: Implement the "flash instruction" parameter. - * config_gram.y: (Ditto.) - * lexer.l: (Ditto.) - * avrdude.conf.in: (Ditto.) - * avrdude.1: Document the EEPROM access through dW. - * doc/avrdude.texi: (Ditto.) - * tools/get-dw-params.xsl: Extend to extract the flash - instruction field. - -2006-11-23 Joerg Wunsch - - * avr.c (avr_read, avr_write): if the paged access returns a - failure, fall back to byte access. - -2006-11-21 Joerg Wunsch - - * jtagmkII.c: In jtagmkII_read_byte() and jtagmkII_write_byte(), - return an error upon failure now that the upper layers won't fall - back to the cmd() method anymore in that case. - -2006-11-21 Joerg Wunsch - - Implement debugWire programming support. - * avrpart.h: Implement debugWire support. - * config_gram.y: (Ditto.) - * jtagmkII.c: (Ditto.) - * jtagmkII.h: (Ditto.) - * lexer.l: (Ditto.) - * avrdude.conf.in: Add the new dW programmers. - * avrdude.1: Document the dW support. - * doc/avrdude.texi: (Ditto.) - * tools/get-dw-params.xsl: XSL stylesheet to extract the dW - parameters from the XML files. - -2006-11-20 Joerg Wunsch - - * jtagmkI.c (jtagmkI_close): remove two unused variables. - -2006-11-20 Joerg Wunsch - - * avr.c: Replace the fallback of avr_read_byte() and avr_write_byte() to - avr_read_byte_default() and avr_write_byte_default (resp.) by directly - calling the latter functions from within all programmers that don't - implement their own read_byte()/write_byte() methods. In turn, make the - read_byte() and write_byte() methods mandatory, and the cmd() method - (direct ISP command) optional instead (it's effectively mandatory for - any programmer using avr_read_byte_default()/avr_write_byte_default() - though). Remove all the pointless cmd() method stubs from those programmers - that don't need it. - Eliminate avr_read_byte() as it was now completely identical to - pgm->read_byte(). - * avr.h: (Ditto.) - * bitbang.c: (Ditto.) - * butterfly.c: (Ditto.) - * jtagmkI.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * par.c: (Ditto.) - * pgm.c: (Ditto.) - * safemode.c: (Ditto.) - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * stk500.c: (Ditto.) - * stk500v2.c: (Ditto.) - * term.c: (Ditto.) - * usbasp.c: (Ditto.) - -2006-11-13 Joerg Wunsch - - * jtagmkI.c: Avoid sending a CMD_RESET when leaving programming - mode, and CMD_GO when closing the connection. They cause the - activity LED on the ICE to continue to flicker, and are not - necessary anyway (the target starts to run by itself when leaving - programmng mode). - This is a partial fix for bug #18262: JTAGMKI/JTAG1 Reset Bug - -2006-11-12 Colin O'Flunn - - * avrdude.conf.in: Add read command for lockbits for Tiny2313. - Applies patch #5538 - -2006-11-10 Joerg Wunsch - - * avrdude.conf.in: Add signatures for ATmega325/3250/645/6450. - -2006-11-08 Joerg Wunsch - - * configure.ac: Preserve ${LDFLAGS} inherited from environment - for Win32 environments. - -2006-11-07 Joerg Wunsch - - * configure.ac: Don't pretend --enable-doc were the default. - -2006-11-02 Joerg Wunsch - - * avrdude.conf.in: Fix the width of the efuse memory area for a - number of AVRs. - Closes bug #18182: Wrong setting of eFuse configuration for - mega640/1280/1281/2560/2561 in avrdude 5.2 - -2006-11-01 Joerg Wunsch - - * avrdude.conf.in: Implement HVSP and PP modes for the AVR Dragon. - * config_gram.y: (Ditto.) - * jtagmkII.c: (Ditto.) - * jtagmkII_private.h: (Ditto.) - * lexer.l: (Ditto.) - * stk500v2.c: (Ditto.) - * stk500v2.h: (Ditto.) - * avrdude.1: Document the HVSP and PP support for the Dragon. - * doc/avrdude.texi: (Ditto.) - -2006-10-27 Joerg Wunsch - - * jtagmkI.c: Implement a flags field in struct serdev, and populate it - with a flag that indicates whether the underlying communication can - dynamically change its speed or not. This flag is set for true serial - communication but clear for USB communication. Don't try to adjust - the speed when talking over a communication channel that doesn't - support it. (The Dragon does not even support the respective parameter.) - * jtagmkII.c: (Ditto.) - * ser_posix.c: (Ditto.) - * ser_win32.c: (Ditto.) - * serial.h: (Ditto.) - * usb_libusb.c: (Ditto.) - -2006-10-26 Joerg Wunsch - - * avrdude.conf.in: Add support for the AVR Dragon (JTAG and ISP mode). - * config_gram.y: (Ditto.) - * jtagmkII.c: (Ditto.) - * jtagmkII.h: (Ditto.) - * lexer.l: (Ditto.) - * stk500v2.c: (Ditto.) - * stk500v2.h: (Ditto.) - * usbdevs.h: (Ditto.) - * avrdude.1: Document the AVR Dragon support. - * doc/avrdude.texi: (Ditto.) - -2006-10-09 Joerg Wunsch - - Released AVRDUDE 5.2. - -2006-10-09 Joerg Wunsch - - * configure.ac: Bump version to 5.2 - -2006-10-09 Joerg Wunsch - - Submitted by John Voltz: add AVR053 oscillator calibration. - * main.c: Add the -O option. - * pgm.c: Add the hook for the perform_osccal() method. - * pgm.h: (Ditto.) - * stk500v2.c: Implement perform_osccal(). - * avrdude.1: Document the -O option. - * doc/avrdude.texi: (Ditto.) - Partially closes bug #17487: AVR RC oscillator calibration - routine not supported (feature request) - -2006-10-09 Joerg Wunsch - - Submitted by freckle@sf.net: - * stk500.c (stk500_paged_write): Send the command and the data - payload within a single write(). - patch #5025: Improve stk500.c robustness - - Submitted by Matthias Ringwald: - * stk500.c (stk500_open): do not flush the serial line after - getting in sync with the programmer. - patch #5293: stk500.c: no drain after sync (-> allow BTnode - Bootloader to work on cygwin) - -2006-09-29 Joerg Wunsch - - * pgm.h: Fix prototype for gettimeofday(). - Closes bug #17884: another gettimeofday conflict under win32/cygwin - -2006-09-24 Joerg Wunsch - - Submitted by Thomas Fischl (initially): - * configure.ac: Add the CoreFoundation and IOKit framework - linker flags on MacOS X when configuring for USB support. - patch #4685: Libusb on MacOS X: detection and additional includes - -2006-09-20 Joerg Wunsch - - * avr910.c: As there is a lot of ambiguity about the AVR910 - device codes, allow the user to override the device code - verification with the -F option. - * main.c: Make ovsigck a global variable. - -2006-09-20 Joerg Wunsch - - Add the "stk500generic" programmer that auto-probes for STK500 - either firmware version 1 or 2. - * Makefile.am (avrdude_SOURCES): add the new files - stk500generic.c and stk500generic.h. - * avrdude.conf.in: Add the stk500generic programmer type, and - change the "stk500" entry to point to this programmer. - * config_gram.y: Add the stk500generic keyword. - * lexer.l: (Ditto.) - * stk500.c: Change the stk500v1 code to not call exit() - prematurely when failing to open the programmer, but instead - return an error status. - * stk500generic.c: (New file.) Stub programmer implementation. - Probe for either stk500v1 or stk500v2, and adjust the current pgm - appropriately. - * stk500generic.h: (New file.) Declare the public interface(s) - of stk500generic.c. - * doc/avrdude.texi: Document the changed behaviour of stk500. - -2006-09-18 Joerg Wunsch - - * avrdude.conf.in: Various fixes for ancient processors and their - capabilities. For the AT90S1200 and the AT90S8515, fuse bit - handling via ISP, and lock bit reading via ISP are not supported - at all. For the AT90S4414 (small brother of the AT90S8515), add - the ability to write the lock bits, and add a definition for the - fuse bits (usable for HV programming). For the AT90S2313, add the - "fuse" memory range, so it's available for HV programming. - - Resolves bug #17796: avrdude will not program or verify lockbits - with Atmel STK protocol programmers - -2006-09-17 Joerg Wunsch - - Submitted by Thomas Fischl: - * usbasp.c: Check for USBasp with new as well as old VID/PID - pair, warn the user about upgrading the firmware in case an - old one has been found. - * usbasp.h: Add new VID/PID. - -2006-09-15 Joerg Wunsch - - * avrdude.conf.in: Fix some mistakes for the ATtinyX61 family: - . high fuse has 8 bits - . there is an extended fuse (just one bit) - . the calibration area is only 1 byte - -2006-09-12 Joerg Wunsch - - * doc/avrdude.texi: Convert some of the tables to multitables - in order to beautify the result. - -2006-09-10 Joerg Wunsch - - Contributed by Thomas Fischl: add support for USBasp. - patch #4686: Add support for USBasp, a simple USB programmer - * usbasp.c: New file, implement the USBasp driver. - * usbasp.h: New file, interface declarations for USBasp. - * Makefile.am: Wire the new files into the build. - * avrdude.conf.in: Add the usbasp programmer entry. - * config_gram.y: Add the usbasp token. - * lexer.l: (Ditto.) - * avrdude.1: Document the USBasp programmer. - * doc/avrdude.texi: (Ditto.) - -2006-09-08 Joerg Wunsch - - * main.c: Implement -U filename as a shorthand for - -U flash:w:filename:a. - * avrdude.1: Document this. - * doc/avrdude.texi: (Ditto.) - -2006-09-08 Joerg Wunsch - - Implement numerical output formats for decimal, hexadecimal, - octal, and binary numbers. - Closes bug #16129: more output formats for fuse bits - (avrdude enhancement request) - * fileio.c: Implement fileio_num() and the itoa_simple() - helper function. - * fileio.h: Add new file formats to FILEFMT. - * main.c: Parse the new file formats. - * avrdude.1: Document all this. - * doc/avrdude.texi: (Ditto.) - -2006-09-08 Joerg Wunsch - - * fileio.c: CPP statements start in column #1. - * stk500v2.c: Hide two debug/trace statements behind "verbose". - -2006-09-07 Joerg Wunsch - - * avrdude.1: Describe how to disable the DWEN fuse. - * doc/avrdude.texi: (Ditto.) - -2006-09-07 Joerg Wunsch - - * jtagmkII.c: Translate numerical response codes to strings. - -2006-09-07 Joerg Wunsch - - * avrdude.1: The avr109 programmer type no longer chokes on - a wrong avr910 device ID, so remove that description. - * doc/avrdude.texi: (Ditto.) - -2006-09-07 Joerg Wunsch - - * jtagmkII.c: When failing to start in ISP mode, try - debugWire instead. This requires the user to eventually - restart AVRDUE from scratch then. - -2006-09-06 Joerg Wunsch - - Add support for the JTAG ICE mkII in ISP mode. - * avrdude.conf.in (jtag2isp): New programmer entry. - * config_gram.y: Add K_JTAG_MKII_ISP. - * jtagmkII.c: Restructure and export some more functions. - * jtagmkII.h: Declare exported functions. - * jtagmkII_private.h: Prepare file to be included in stk500v2.c. - * lexer.l: Add jtagmkii_isp token. - * stk500v2.c: Implement glue to jtagmkII.c. - * stk500v2.h: Declare stk500v2_jtagmkII_initpgm(). - * avrdude.1: Document the new programmer support. - * doc/avrdude.texi: (Ditto.) - -2006-09-01 Joerg Wunsch - - * main.c: Add date and time of compilation to the verbose - greeting message. - Idea taken from patch #3172: Adds date and time of compile - to usage message - -2006-09-01 Joerg Wunsch - - Contributed by as - patch #4372: Better synchronization for stk500 - * stk500.c: Sync three times, and drop any noise inbetween. - -2006-09-01 Joerg Wunsch - - * avrdude.conf.in (ATtiny261, ATtiny461, ATtiny861): new - entries. - -2006-09-01 Joerg Wunsch - - * butterfly.c: Remove the device support decision based on - the old AVR910 device codes; we've got signature verification - now so better rely on that. - * avr910.c: Revert the signature bytes returned, as it already - happened in butterfly.c. This closes bug #14998: Signature Bytes - read in wrong order (avr910 mode) - -2006-09-01 Joerg Wunsch - - Submitted by Wim Lewis. - * serbb_posix.c: Improve error handling. - patch #4923: Better error reporting for serial-bitbang programmers - -2006-08-31 Joerg Wunsch - - * avrdude.conf.in: Introduce a "stk500v1" entry, so we - can switch the default "stk500" to "stk500v2" some day. - -2006-08-31 Joerg Wunsch - - The major part of this change has been contributed by - . - Implements patch #4635: Add support for terminal/console - servers for serial programmers - * ser_posix.c: Add net_open(), and divert to it for net:host:port. - * ser_win32.c: Recognize net:host:port, and bail out. - * avrdude.1: Document the net:host:port connection option. - * doc/avrdude.texi: (Ditto.) - -2006-08-31 Joerg Wunsch - - Fix for bug #16627: Butterfly programmer does not reset after - programming - * butterfly.c: Wait for the device's response after sending - an "E" command. - -2006-08-31 Joerg Wunsch - - Tentative fix for bug #16156: Problem with Si-Prog - * serbb_posix.c: Disable reset before closing. - * serbb_win32.c: (Ditto.) - -2006-08-30 Joerg Wunsch - - Rewrite the serbb code so the pin numbering matches the - DB9 connector, and fix some related bugs in serbb_posix.c. - Closes bug #16265: dasa2 does not work under posix - * avrdude.conf.in: New serbb pin numbering; added "siprog" - as an alias for "ponyser". - * serbb_posix.c: New pin numbering, fix some confusion. - * serbb_win32.c: New pin numbering. - The generic and Posix-related parts of these changes have - been contributed by Hanns-Konrad Unger - -2006-08-30 Joerg Wunsch - - Contributed by the anonymous developer of patch #5096: - * avrdude.conf.in (blaster): Add an entry for the Altera - byteblaster. - -2006-08-30 Joerg Wunsch - - Rework the exit specs so they actually work again. It should be - possible to extend them for other programmers than PPI now (serbb, - stk500*). - * pgm.h: Keep the exit specs in an abstract form inside struct - programmer_t. (Should be moved out into some programmer-specific - structure.) Rename the getexitspecs() method into - parseexitspecs(). - * main.c: Move the exit specs stuff out to the programmer - implementation. - * par.c: Implement the new exit spec handling. Everything is now - done using the generic abstraction layer. - Closes bug #16443: No disable Resetsignal at the end of - Programming Session - Obviates need for patch #5057: quick and dirty Hack to unset Reset - after Programming - -2006-08-29 Joerg Wunsch - - This patch has been contributed by an anonymous developer - via the patch tracking system. - patch #5096: Allow VCC and BUFF to be any pin in parallel mode - * config_gram.y: Release the restriction to PPIDATA pins. - * par.c: Rework the code to introduce a function par_setmany() - that builds on top of par_setpin(), and use that function for the - PPI_AVR_VCC and PPI_AVR_BUFF pin collections. This also abstracts - the polarity of these signals appropriately. - -2006-08-28 Joerg Wunsch - - Contributed by Ned Konz: - * ser_posix.c: Open the serial port with O_NONBLOCK, and - save and restore the port state before exiting. - patch #5008: Patch for (5.1) ser_posix.c for O_NONBLOCK open - and restoring serial port state on close - Closes bug #12622: avrdude hangs on macosx/darwin with PL-2303 - usb-to-serial and Butterfly - -2006-08-22 Joerg Wunsch - - * bitbang.c: Move the bitbang prerequisite checks out from - main() into their own bitbang_check_prerequisites(). - * bitbang.h: (Ditto.) - * main.c: (Ditto.) - * par.c: (Ditto.) - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - -2006-08-22 Joerg Wunsch - - * avrdude.conf.in: Add page mode parameters for all "eeprom" - memory definitions that are organized in pages. - * avr.c (avr_write_byte_default): Consider using the loadpage - instructions only if the respective memory is marked "paged". - Closes bug #17199: EEPROM fails verification on ATmega645 with - pony-stk200 hardware - Closes bug #16849: EEPROM write fails for AT90USB1287 with - mode 0x41 - Closes bug #15146: stk500v2_paged_write: loadpage instruction - not defined for part - -2006-08-22 Joerg Wunsch - - * doc/avrdude.info (-c): Change "avrispmk2" into "avrisp2" as that - is the programmer actually supported by avrdude.conf.in. - Closes bug #15677: documentation mentions wrong programmer-id - "avrispmk2" - -2006-08-21 Joerg Wunsch - - * avrdude.conf.in: Fix various AVR910 device codes. Add the code - tables from both, AVR910 and AVR109. Change avr910_devcode of - the ATtiny2313 to 0x5e (ATtiny26). - Closes bug #16671: Tiny2313 avr910_devcode is bad - Closes bug #15826: avr910 device type for ATmega8 wrong - -2006-08-21 Joerg Wunsch - - * avrdude.conf.in: Add (rather conservative) write delay timing - values to the *fuse and lock memory spaces of all devices where - they have been missing. Add the lock memory space to the ATmega48 - section. - Closes bug #14920: tiny2313 fuses and AVRDUDE 5.0 - Closes bug #15751: atmega48: no lock bits defined - -2006-08-21 Joerg Wunsch - - * avrdude.conf.in: Fix the size of the calibration memory space - for ATtiny13, ATmega64, ATmega16, ATmega32, ATmega8535, ATtiny25, - ATtiny45, ATtiny85. - Closes bug #17383: Wrong calibration section in avrdude.conf... - -2006-08-21 Joerg Wunsch - - * avrdude.conf.in (ATmega324): Correct the pagesize from 256 to - 128. - This closes bug #16410: ATMega164/324/644 cannot be programmed - -2006-08-20 Joerg Wunsch - - * configure.ac: Check for gettimeofday(). - * ppiwin.c (gettimeofday): Define gettimeofday() replacement - only if !defined(HAVE_GETTIMEOFDAY); use correct protype. - -2006-08-18 Joerg Wunsch - - * stk500v2: Minor cosmetic changes: STK500 firmware version - numbers are M.NN, so always display the minor number as two - digits. Examine the response to the sign-on command to see which - programmer hardware we are talking to, and then restrict the - STK500 topcard display to devices detected as STK500. - -2006-08-18 Joerg Wunsch - - * Makefile.am: Add a dist-hook, and make it remove lexer.c, - config_gram.c, and config_gram.h from the source distribution - archive. These files are supposed to be generated on the target - system. - Closes bug #15536: avrdude-5.1 compilation fails on Gentoo/amd64 - -2006-08-17 Joerg Wunsch - - * stk500v2.c: unreverse the argument order for - CMD_CHIP_ERASE_HVSP; Atmel says AVR068 is right, and - stk500.exe is wrong. - * configure.ac (AC_CHECK_LIB[usb]): Fix the generation - of HAVE_LIBUSB in ac_cfg.h. - -2006-08-17 Joerg Wunsch - - Submitted by Neil Davey: - patch #4539: Ability to control the bit clock (usleep) delay - for ppi interface - * bitbang.c: Implement bitbang_delay() and its calibration. - * bitbang.h: Declare bitbang_delay(). - * main.c: Add the ispdelay option (-i). - * pgm.h (struct programmer_t): Add the ispdelay parameter. - * par.c: Add calls to bitbang_delay() when requested. - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * avrdude.1: Document the new -i option. - * doc/avrdude.texi: (Ditto.) - -2006-08-14 Joerg Wunsch - - Submitted by : - * avrdude.conf.in (ATmega48, ATmega88, ATmega168): patch #5100: - mega88 EEPROM support (extended for ATmega48 and ATmega168 - jw). - -2006-08-14 Joerg Wunsch - - Submitted by : - * stk500v2.c (stk500v2_open): patch #5273: Emit error message - if user requests usb and no libusb support - -2006-08-14 Joerg Wunsch - - * avrdude.conf.in: Add HVSP/PP mode parameters for all AVRs. - -2006-08-13 Joerg Wunsch - - * tools: New directory. - * tools/get-hv-params.xsl: New file, extract high-voltage - programming parameters from Atmel XML files, and produce - an avrdude.conf[.in] snippet. - -2006-08-11 Joerg Wunsch - - * configure.ac (AC_CHECK_LIB([usb]): implement a private LIBUSB - macro to add this library to, to prevent it from being - automatically linked to all binaries. This should fix the Win32 - build of loaddrv. - * Makefile.am (avrdude_LDADD): add LIBUSB here. - -2006-08-10 Eric B. Weddington - - Contributed by Bob Paddock - * avrdude.conf.in: Patch #4780. Provide support for mega325, - mega3250, mega645, mega6450. - -2006-08-10 Joerg Wunsch - - * avrdude.conf.in (ATtiny11): fix the HVSP control stack, - add delay values required for flash and EEPROM. - * stk500v2.c: reverse the argument order for - CMD_CHIP_ERASE_HVSP; AVR068 and stk500.exe differ here. - -2006-08-09 Joerg Wunsch - - * stk500v2.c (stk500v2_program_enable): Fix a typo - (synchloops vs. synchcycles). - -2006-08-04 Joerg Wunsch - - * avrdude.conf.in: Add parallel programming definitions for - the ATmega8/48/88/168. - -2006-07-22 Joerg Wunsch - - * avrdude.conf.in: Add the ATtiny11, an HVSP-only device. - -2006-07-21 Joerg Wunsch - - Implement STK500 (v2) HVSP mode. - * stk500v2.c: Add new functions for HVSP support. - * stk500v2.h: Add prototype for the stk500hvsp programmer. - * avrpart.h: Add fields to struct avrpart for new features. - * config_gram.y: Extend the configuration syntax for new - features required for HVSP support. - * lexer.l: (Ditto.) - * avrdude.conf.in: Add HVSP support for ATtiny13 and - ATtiny45 as an example. - * avrdude.1: Document stk500hvsp. - * doc/avrdude.texi: (Ditto.) - -2006-07-21 Joerg Wunsch - - * avrpart.c: Print the very verbose memory details only - in debug level > 4. - -2006-07-19 Joerg Wunsch - - * stk500v2.c: Add more parameters for PP mode. Fix the - non-paged write operations for old AVRs. - * lexer.l: Add more parameters for PP mode. - * config_gram.y: (Ditto.) - * avrpart.h: (Ditto.) - * avrdude.conf.in: Use the new PP mode parameters; add PP mode - definitions for AT90S8515. - * avrdude.1: Document the stk500pp support. - * doc/avrdude.texi: (Ditto.) - -2006-07-19 Joerg Wunsch - - * stk500v2.c: Hide stk500v2_set_sck_period_mk2() behind an #if - defined(HAVE_LIBUSB) as it is only used there (for the AVRISP - mkII). - -2006-07-17 Joerg Wunsch - - * stk500v2.c: Fix all bugs in stk500pp. Eliminate pagebuf, and - use a stack-allocated buffer instead, as the pagesize can be at - most 256 for all current AVRs anyway. - -2006-07-17 Joerg Wunsch - - * main.c: Use mem->desc in place of upd->memtype in more places to - give the full name of the respective memory area, instead of - the (possibly abbreviated) name the user typed in the -U option. - -2006-07-16 Joerg Wunsch - - First stab at an implementation of the STK500 parallel programming - feature (v2 firmware only), named "stk500pp". Still not yet - complete: EEPROM writes not working, documentation missing, only - ATmega16 parameters available in avrdude.conf.in, some parameters - not yet implemented. - * avrdude.conf.in: Add sample parameters for PP mode to ATmega16. - * avrpart.h: Add the parallel programming control parameters. - * avrpart.c: (Ditto.) - * config_gram.y: Add stk500pp configuration grammar. - * lexer.l: Add stk500pp token recognition. - * stk500v2.h: Add declaration for stk500pp_initpgm(). - * stk500v2.c: Add stk500pp implementation. - -2006-07-11 Joerg Wunsch - - * avrdude.conf.in: Fix the signatures for the - ATmega164/324 devices. - -2006-07-10 Joerg Wunsch - - * avrdude.conf.in: Enter the signatures for the - ATmega164/324/644 devices. - -2006-05-25 Joerg Wunsch - - * stk500v2.c: Implement extended addressing needed - for the ATmega256x devices. - * avrdude.1: Document ATmega256x support. - * doc/avrdude.texi: Document ATmega256x support. - Also document Solaris port defaults. - -2006-05-24 Joerg Wunsch - - * avr.c: Start implementing support for ATmega256x; - jtag2 and bitbang programmers are working, stk500v2 - still needs to be done. - * avrdude.conf.in: (Ditto.) - * avrpart.c: (Ditto.) - * avrpart.h: (Ditto.) - * config_gram.y: (Ditto.) - * lexer.l: (Ditto.) - -2006-04-18 Joerg Wunsch - - Contributed by Julius Luukko : - * avrdude.conf.in: Add the "ere-isp-avr" programmer. - -2006-04-13 Joerg Wunsch - - * par.c: Add logic to negate parallel-port signals in - avrdude.conf using a tilde. - - Contributed by Bram Daams: - * avrdude.conf.in: Add the "atisp" programmer entry that - makes use of negated signals. - -2006-03-28 Joerg Wunsch - - * avrdude.conf.in: Add entries for AT90USB{64,128}{6,7} - -2006-03-23 Colin O'Flynn - - Contributed by Wim Lewis, fix a few typos (patch #4987) - * avrdude.1: Typo fix - -2006-02-27 Colin O'Flynn - - Contributed by Wim Lewis, add support for checking device - signatures in detail (patch #4924 and #4925) - * avrdude.conf.in: Add signatures - * avrpart.c: Set default signature - * avrpart.h: Variable for signature - * config_gram.y: More signature reading - * lexer.l: Define that signatures exist - * main.c: Read signatures and check them against hardware - -2006-02-21 Joerg Wunsch - - * avrdude.conf.in: Fix paged flash write for AT90PWMx - (error in datasheet). - -2006-01-23 Joerg Wunsch - - * configure.in: Bump version. - -2006-01-17 Colin O'Flynn - - * main.c: Fixed a typo in safemode variable names, fixed bug 15113 - * avrdude.conf.in : Added BS2 and pagel to M162, Patch 4766 - * main.c, stk500v2.c: Added patch 4804 from eolson@mit.edu - Which stops sck from being writtend needlessly - -2006-01-13 Joerg Wunsch - - Contributed by David Moore: add support for the - AVRISP mkII device. (Savannah patch #4789.) - * serial.h: Declare usb_serdev_frame device descriptor. - * stk500v2.c: Implementation of the AVRISP mkII handling. - * usb_libusb.c: Add USB handling for short-frame delimited - AVRISP mkII USB protocol; add distinction of different - devices in usbdev_open(). - * jtagmkII.c: Tell usbdev_open() to search for the JTAG ICE mkII. - * usbdevs.h: (New file.) - * Makefile.am: Add usbdevs.h, as well as some other forgotten - files "make distcheck" complained about. - * avrdude.conf.in: Add more aliases for the AVRISP mkII. - * avrdude.1: Document how to use the AVRISP mkII. - * doc/avrdude.texi: (Ditto.) - -2006-01-12 Joerg Wunsch - - * avrdude.conf.in: Add EEPROM page instructions for the - ATmega169 so it will work for STK500v2. - -2005-12-16 Joerg Wunsch - - * avrdude.conf.in: Added support for ATtiny24/44/84. - -2005-12-05 Colin O'Flynn - - * avrdude.conf.in: Added m162 support for stk500v2 - -2005-12-01 Joerg Wunsch - - * avrdude.conf.in: fix the number of significant bits for - the efuse memory in ATmega48/88/168; the datasheet is a bit - off here as well. - -2005-11-29 Joerg Wunsch - - * avrdude.1: update for JTAG ICE mkI support. - * doc/avrdude.texi: (Ditto.) - -2005-11-29 Joerg Wunsch - - Submitted by Galen Seitz: - patch #4459: Fix for rpm package builds - * avrdude.spec.in: update the RPM spec file: - - Default to enable-doc=yes during configure. - - Move info file to docs package. - - Make building of docs package conditional. Basic - idea copied from avr-gcc. - -2005-11-29 Joerg Wunsch - - Submitted by someone who thinks he's called "Daper": - Fix bug #15013: Wrong use of PPICLAIM (kernel: ppdev0: claim the - port first) - * par.c: don't claim/release here (thus win_ppdev.h not needed - anymore) - * ppi.c: claim/release here. - * freebsd_ppi.h: ppi_claim/ppi_release now take an fd as parameter. - * solaris_ecpp.h: (Ditto.) - * linux_ppdev.h: (Ditto.) (Also add copyright.) - * win_ppdev.h: Not needed anymore, remove. - -2005-11-28 Joerg Wunsch - - * jtagmkI.c: Improve the communication startup with the ICE. - -2005-11-28 Joerg Wunsch - - * configure.ac: enable parport access on x86_64 Linux and - FreeBSD systems. - -2005-11-27 Joerg Wunsch - - * avrdude.conf.in: add the "calibration" space to ATmega16. - -2005-11-25 Colin O'Flynn - - Fixed bug 15051, building for Windows breaks. - * par.c: ppi_claim and ppi_release definitions now in a Windows header file - * ppi.c: Only included if you are building for Windows - * win_ppdev.h: Initial Commit, see par.c - -2005-11-24 Joerg Wunsch - - Add basic support for the Atmel JTAG ICE mkI: - * config_gram.y: add mkI support to config sytax. - * lexer.l: (Ditto.) - * avrdude.conf.in: add sample programmer entries. - * jtagmkI.c: New file - * jtagmkI.h: New file - * jtagmkI_private.h: New file - * Makefile.am: include new files in build. - -2005-11-24 Colin O'Flynn - - Fix bug 14681 - Serial Communication Fails on -vvvv with Windows - * ser_win32.c: Patched with Brian Dean's patch - -2005-11-05 Colin O'Flynn - - Patch #4532 by Manfred Bartz - * avrdude.conf.in: added support for ATMega168 (also added support - for the stk500v2 protocol which was not in the patch). - -2005-11-03 Joerg Wunsch - - Add ecpp(7D) (parallel port) for Solaris. - * configure.ac: add Solaris' default parallel port. - * linux_ppdev.h: change parallel port access to the new style. - * freebsd_ppi.h: New file, abstract FreeBSD's ppi(4). - * solaris_ecpp.h: New file, abstract Solaris' ecpp(7D). - * par.c: change header inclusion sequence. - * pgm.h: remove obsolete ppi_claim() and ppi_release() dummies. - * ppi.c: change header inclusion sequence, use new parport - abstraction, drop obsolete dummy implementation. - -2005-11-02 Joerg Wunsch - - * config.h: change YYSTYPE to be a single word, to work around - a bug in Solaris' yacc. - * lexer.l: remove incompatibilities with Solaris' default lex, - bump resource limits for lex. - -2005-11-01 Joerg Wunsch - - Make avrdude Solaris-compatible. - * Makefile.am: distclean avrdude.conf. - * avrdude.conf.in: make the parallel-port programmers optional. - * bitbang.c: move the bitbang features out into PROGRAMMER. - * configure.ac: introduce --enable-parport, add Solaris. - * lexer.l: replace str by strng to work around problems in some - versions of flex. - * main.c: move getexitspecs into the respective programmer's - domain; replace rindex by the C-standard strrchr. - * par.c: make parallel port optional. - * par.h: everything but par_initpgm() is private now. - * pgm.h: add setping/getping/highpulsepin/getexitspecs. - * serbb_posix.c: generalize bitbang interface; replace - cfmakeraw() by explicit code. - * serbb_win32.c: generalize bitbang interface. - -2005-10-20 Joerg Wunsch - - * butterfly.c: fix yet another sign extension bug. - -2005-10-14 Joerg Wunsch - - * avrdude.conf.in (ATmega8515): fix size of calibration - memory. - -2005-10-09 Joerg Wunsch - - * avrdude.conf.in: add support for ATmega640/1280/1281. - * avrdude.1: document the above. - * doc/avrdude.texi: (Ditto.) - -2005-09-27 Joerg Wunsch - - * doc/avrdude.texi: Polish up the docs a bit. Use smallexample - instead of example for wide tty output. Document a trick to - find out about the serial numbers of all JTAG ICEs attached - to USB. - -2005-09-26 Joerg Wunsch - - * jtagmkII.c (jtagmkII_paged_write): default the page size early so the - buffer will be allocated correctly. - * usb_libusb.c: fix libusb handling; now it works with libusb-win32 as - well. - -2005-09-21 Joerg Wunsch - - * main.c(do_op): use mem->desc in place of upd->memtype to - give the full name of the respective memory area, instead of - the (possibly abbreviated) name the user typed in the -U option. - -2005-09-21 Joerg Wunsch - - * main.c: Add the forgotten -B option to the option string in - getopt(); sort the -s option into order. - -2005/09/21 Brian S. Dean - - * avr.c: - * main.c: - * safemode.c: - * safemode.h: - * term.h: - This is Colin O'Flynn's mega patch for updating safemode support: - - * add support for parts with just 'fuse' memory - - * if any fuse memories are altered, reflect those changes in the - post-programming safemode check so that safemode no longer - complains about fuses which were intentionally altered; this - eliminates the need to completely disable safemode using -u in - order to program fuses. - - * provide -s option which will not ask to restore fuses, it will - just do it - -2005-09-19 Joerg Wunsch - - * butterfly.c (butterfly_initialize): make the device code unsigned so - it wouldn't sign-extend when >= 0x80. - -2005-09-18 Joerg Wunsch - - Add the serial bit-bang driver, contributed by Juliane Holzt. - * bitbang.h: New file. - * bitbang.c: New file. - * serbb.h: New file. - * serbb_posix.c: New file. - * serbb_win32.c: New file. - * Makefile.am: Include new files. - * config_gram.y: Add serbb to configuration language. - * lexer.l: (Ditto.) - * par.c: Centralize bit-bang code in bitbang.c. - * par.h: Declare newly published functions. - * pgm.h (struct programmer_t): Add a flag field for private use - by the programmer. - * pindefs.h: Add definitions for negated serbb pins. - * avrdude.conf.in: Add serbb programmers ponyser, dasa, and dasa3. - * avrdude.1: Document serbb code. - * doc/avrdude.texi: (Ditto.) - -2005/09/18 Brian S. Dean - - * avrdude.conf.in: Patch #4078: add VCC pin definition for DAPA - programmer. - -2005/09/18 Brian S. Dean - - * avr910.c: This is patch #3277 which appears to fix a number of - issues with the avr910 programmer. - - Fixes the following problems with paged writes in avr910.c: - - failure to re-set address after page writes; - - no polling or delay after page writes; - - no page writes when not using auto-increment; - - an extraneous page write when data ends on page boundary. - -2005-09-17 Joerg Wunsch - - * avrdude.conf.in: Fix the poll values for the ATmega103's EEPROM - so they eventually match the XML file. - This fixes bug #7492: EEPROM writing fail on atmega103 with - atavrisp - -2005-09-17 Joerg Wunsch - - * avrdude.conf.in: The ATmega128 has four oscillator calibration - bytes, not only a single one. - This closes bug #11496: Memory bank calibration on atmega128 - should have 4 bytes - -2005/09/17 Brian S. Dean - - * avrdude.1: - Document -q -q. Expand a little on the description of the 'part' - command. - -2005/09/16 Brian S. Dean - - * fileio.c: - * main.c: - Implement -q -q to be very very quiet. - -2005/09/16 Brian S. Dean - - * avrdude.conf.in: - Add DAPA programmer. - -2005/09/16 Brian S. Dean - - * avrdude.conf.in: - * stk500v2.c: - This fixes EEPROM access using the STK500V2 programmer, partially - undoing part of a previous general fixup commit. Choose the correct - read/write operations with the stk500v2 program function - the correct - one depends on the memory type. EEPROM is byte addressable so uses - read/write. FLASH is word addressable and so uses read_lo/write_lo. - -2005-09-16 Joerg Wunsch - - * avrdude.1: document the memtypes for -U - * doc/avrdude.texi: (Ditto.) - Closes bug #13501: should be listed in the man page - -2005-09-16 Joerg Wunsch - - * doc/Makefile.am: add logic to detect the misf^H^H^H^H - gratitous API change in recent versions of texi2html where - the output directory has changed names. - Fix for: - bug #13026: The build fails with texi2html 1.76 - bug #12715: make issues during install - patch #3091: commandline fix for latest version of texi2html - -2005-09-16 Joerg Wunsch - - * usb_libusb.c (usbdev_drain): actually implement draining to aid - synchronizing against a JTAG ICE in weird state. - -2005-09-16 Joerg Wunsch - - * butterfly.c: improve the butterfly initialization so it is more likely - to synchonize; [bug #9787: avrdude 4.4.0 correct butterfly interface] - -2005-09-14 Joerg Wunsch - - * jtagmkII.c (jtagmkII_paged_load): return the number of bytes read. - This makes EEPROM block reads work again. - -2005-09-14 Joerg Wunsch - - * avrdude.conf.in: add a jtag2slow programmer alias, and make - "jtag2" default to 115200 Bd. - * doc/avrdude.texi: document the above changes. - -2005/09/14 Brian S. Dean - - * avrdude.conf.in: - Change bit 0 of the ATmega169 efuse 'write' opcode from 'x' (ignore) - to 'i' (input). Even though this bit should be ignored, it should not - be changed. The 'x' setting sets the bit to zero which programs it - and could cause undefined behaviour. Setting to 'i' enables it to be - rewritten to its old value. - - A better solution might be to read the fuse byte, apply the new value - while leaving the 'x' bit alone, then writing the value back. The - current fix is a workaround which allows the developer to change the - bit as desired. - -2005-08-30 Joerg Wunsch - - * usb_libusb.c: Consistently use unsigned char for buffers. - -2005-08-29 Brian S. Dean - - * avr910.c: Eliminate compiler warnings. GCC 4.x elicits many - signedness warnings when passing unsigned char * when char * is in - the prototype and vice versa. Clean these up along with a few - others. - * butterfly.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * safemode.c: (Ditto.) - * safemode.h: (Ditto.) - * ser_posix.c: (Ditto.) - * serial.h: (Ditto.) - * stk500.c: (Ditto.) - * stk500v2.c: (Ditto.) - -2005-08-28 Joerg Wunsch - - * avrdude.conf.in: Add support for the ATtiny25/45/85. Note that - only the ATtiny45 appears to have a complete XML description right - now. - * avrdude.1: Mention all the recently added device support: AT90PWM2/3, - ATmega164/324/644, ATmega329x/649x, ATtiny25/45/85. - * doc/avrdude.texi: (Ditto.) - -2005/08/28 Brian S. Dean - - * avrdude.conf.in: - * stk500v2.c: - This is patch # 4338, obsoletes patch #4327, provides fixes for bugs - #13693, #13871, and #14212. - - This provides bug fixes to the STK500V2 programmer type. - - - incorrect token used from avrdude.conf.in - - wrong command sent to programmer, hence no write to eeprom. - - programmer was said to start writing at 0x0000 and continue - page by page and was not repositionned when a gap was found - in the hex file, or when the hex file start address was not - 0x0000. Hence the verify procedure was correct, not the - write procedure. - - speed up of flash write to skip empty pages (full of 0xFF) - by re-enabling a dedicated function for that task. - - stk500v2_paged_load() was not returning the number of byte - read, so empty hex files were generated when reading memory. - -2005-08-17 Joerg Wunsch - - * avrdude.conf.in: fix the EEPROM size for ATmega329x/649x. - -2005-08-16 Joerg Wunsch - - * avrdude.conf.in: Add support for the AT90PWM2/3. - -2005-07-27 Joerg Wunsch - - (This work has been done as part of a contract with Atmel, Dresden.) - * butterfly.c: Implement full support for AVR109 boot loaders. - * avrdude.conf.in: add avr109 and avr911 as alias for butterfly. - * avrdude.1: Document the AVR109 addition. - * doc/avrdude.texi: (Ditto.) - -2005-07-26 Brian S. Dean - - * main.c: - Don't call exit() directly here - set the exit value and jump to the - main_exit: label to ensure the programmer is released correctly. - - * stk500v2.c: - The stk500v2_getsync() function was improperly checking for success, - thus it was falsely reporting that it failed when it was actually - working correctly. Fixed. - -2005-07-25 Joerg Wunsch - - * usb_libusb.c: Catch benign errors when reading the serial #. - -2005-06-19 Joerg Wunsch - - * Makefile.am: Implement libusb-base USB transport for the - JTAG ICE mkII. - * configure.ac: ditto. - * jtagmkII.c: ditto. - * ser_posix.c: ditto. - * ser_win32.c: ditto. - * serial.h: ditto. - * usb_libusb.c: ditto (New file). - * avrdude.1: document the USB transport. - * doc/avrdude.texi: ditto. - -2005-06-15 Joerg Wunsch - - * avrdude.conf.in: The AT90CAN128 has AllowFullPageBitstream = no. - -2005-06-14 Joerg Wunsch - - * avrdude.conf.in: Add support for the ATmega164/324/644. - * jtagmkII.c: If enter_progmode fails with RSP_ILLEGAL_JTAG_ID, give - the user a hint that the JTAGEN fuse might be unset. - -2005-06-11 Joerg Wunsch - - * avrdude.conf.in: Add support for the ATmega329x/649x. - -2005-05-27 Joerg Wunsch - - * jtagmkII.c: fix a signedness bug when shifting bits; when - discarding a packet for being overly long, restart the state - machine instead of attempting to drop a preposterous amount - of data. - -2005-05-19 Joerg Wunsch - - * avrdude.1: - * doc/avrdude.texi: Document that the JTAG ICE mkII code currently - cannot write to flash one byte at a time. Also mention the bug - tracker interface on savannah. - -2005/05/14 Brian S. Dean - - * configure.ac: - * main.c: - Update version for beta release and copyright message. - Change the default port to 'serial' for the newly added serial - programmers stk500v2 and jtagmkii. - -2005-05-10 Joerg Wunsch - - * Makefile.am: - * avr910.c: - * avrdude.1: - * avrdude.conf.in: - * avrpart.c: - * avrpart.h: - * butterfly.c: - * config_gram.y: - * crc16.c: - * crc16.h: - * jtagmkII.c: - * jtagmkII.h: - * jtagmkII_private.h: - * lexer.l: - * main.c: - * pgm.h: - * serial.h: - * ser_posix.c: - * ser_win32.c: - * stk500.c: - * stk500v2.c: - * stk500v2.h: - * stk500v2_private.h: - * doc/avrdude.texi: - - Mega-commit to bring in both, the STK500v2 support from Erik - Walthinsen, as well as JTAG ICE mkII support (by me). - - 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. - -2005/02/11 Brian S. Dean - - * main.c: - Exit non-zero if safe-mode reverts fuse bits that were requested on - the command-line. - - Variable declarations must only appear at the beginning of a block. - -2005/02/10 Brian S. Dean - - * avrdude.1: - Document -u option to disable safe mode. - -2005/02/10 Brian S. Dean - - * configure.ac: - doc/Makefile is now dependent on whether or not doc is enabled. - -2005/02/10 Brian S. Dean - - * Makefile.am: - * configure.ac: - Disable the doc build by default; the tools needed to build - doc are either not available on all systems or are at best - inconvenient to build and install. The doc can still be built, one - just needs to specify --enable-doc at configure time. - -2005-01-24 Colin O'Flynn - - * main.c: Add "safe mode". Fuse settings will be restored at the end - of a programming session unless the -u switch is specified. - * safemode.c: New file. Safe mode support. - * safemode.h: New file. Safe mode support. - * Makefile.am: Add new files. - * doc/avrdude.texi: Document new Safe Mode feature and switch. - -2004/12/22 Brian S. Dean - - * avrdude.conf.in: - Add support for "Xilinx JTAG cable". Contributed by: - Tymm - - Add support for the AT90CAN128. Not sure if all the instruction - encoding is correct, specifically the address bits don't exactly match - those of the preliminary datasheet that I have, but I don't see how - they could be right. Tested with STK500 and it works there. - Instruction encodings have not been tested due to lack of a parallel - port on my Mac development box. - -2004-07-19 Theodore A. Roth - - * avrdude.1: Remove reference to ppi programmer schematic. - * configure.ac (AC_INIT): Set version to "4.4.0cvs". - -2004-07-18 Theodore A. Roth - - * AVRDUDE 4.4.0 has been released (cvs release tag is "release_4_4_0"). - -2004-07-18 Theodore A. Roth - - * Makefile.am (EXTRA_DIST): Remove avrdude.pdf since it is no longer - supplied. - * NEWS: Fix typo. - * bootstrap: Delete the autom4te.cache dir before running the - autotools. - * configure.ac (AC_INIT): Set version to 4.4.0. - -2004-07-17 Jan-Hinnerk Reichert - - * avrdude.1: Fixed obvious copy and paste error - (Patch #3199 contributed by Galen Seitz) - -2004-07-15 Theodore A. Roth - - * main.c (main): Don't indent CPP directives. - When showing update progress in a no tty situation, use unbuffered IO - for all systems, not just win32 native. - Update copyright year when printing version. - Remove warning about native win32 being experimental. - Split a line string. - * ppiwin.c: Update copyright year. - Add cvs Id keyword. - (usleep): Cleanup debug CPP directives to improve readability. - * ser_win32.c: Include to fix failing build. - -2004-07-08 Theodore A. Roth - - * AUTHORS: Add names of recent major contributors. - * ser_win32.c: Assign copyright to Martin J. Thomas since he did all - real work on this file. - -2004-07-07 Jan-Hinnerk Reichert - - * NEWS, doc/TODO: Updated NEWS and TODO - -2004-07-07 Jan-Hinnerk Reichert - - * stk500.c, term.c, doc/avrdude.texi, avrdude.1: - added "sck"-command to the terminal mode. - This command allows slowing down of the SCK of - STK500-programmers. - -2004-07-05 Jan-Hinnerk Reichert - - * *.c, *.h: Removed unnecessary includes of - config.h - -2004-07-04 Jan-Hinnerk Reichert - - * avr.h: Removed some unused prototypes - -2004-07-04 Jan-Hinnerk Reichert - - * stk500.c: Fixed fosc behaviour for values exceeding - maximum frequency (contributed by Galen Seitz) - -2004-07-04 Jan-Hinnerk Reichert - * avrdude.conf.in: Added support for - ATtiny2313 (contributed by Bob Paddock) - -2004-06-25 Joerg Wunsch - - * avrdude.conf.in: Fix efuse bits for ATmega169. - -2004-06-24 Alex Shepherd - - Merged in Win32 Native changes contributed by Martin Thomas - Changed all instances of __CYGWIN__ conditional compilation to - WIN32NATIVE - - * ser_win32.c: fleshed out all the previous stubs - * ser_posix.c: added WIN32NATIVE conditional compilation to skip - all function to allow ser_win32.c functions to operate - * ppi.h: removed commented code - * pgh.h: added usleep macros - * main.c: stdout,stderr tweaks for Win32 - * configure.ac: added CFLAGS and LDFLAGS for Win32Native - * config_gram.y: added strtok_r macro - * buterfly.c: added various stub functions and EXIT processing - * avr910.c: added return 0 to avr910_open() and included time headers - * term.c: added warning about libreadline not supported in WIN32NATIVE - -2004-06-17 Jan-Hinnerk Reichert - - * avrdude.conf.in: Added support for - - tiny13 (contributed by Pawel Moll) - - mega48 and mega88 (contributed by Galen Seitz) - However, the STK500-code for mega8 remains unchanged. - -2004-05-19 Brian S. Dean - - * main.c: - * stk500.c: Allow the baud rate to be specified on the command - line with a new -b switch. The specified baud rate will - override the default serial port baud rate for a particular - programmer. - -2004-05-19 Brian S. Dean - - * ppi.c: Stub-out the ppi_* functions in ppi.c with empty - wrappers that simply return an error code in order to build - successfully on MacOS X. This allows avrdude to work on MacOS - X and was tested using a USB<->RS232 cable adapter, - specifically Keyspan model USA-19HS. - -2004-04-23 Joerg Wunsch - - * lists.h, lists.c: Drop LISTSZ and the check for - it in lcreat(). - -2004-04-17 Jan-Hinnerk Reichert - - * avr910.c: Hopefully fixed that weird "first byte not - programmed"-error in a good way (previous fix was not - working with all firmwares) - -2004-02-10 Jan-Hinnerk Reichert - - * avrdude.1, doc/avrdude.texi, doc/TODO: - Removed the deprecated options from documentation - -2004-02-10 Jan-Hinnerk Reichert - - * main.c: Removed deprecated options. - -2004-01-28 Jan-Hinnerk Reichert - - * pgm.c, main.c, avr910.c, butterfly.c, stk500.c: - Changed default for powerup, powerdown and LED-commands - to do nothing and return OK. Then removed these commands - from avr910, butterfly and stk500. - * pgm.c: Fixed wrong type for default_open introduced by - the cleanup yesterday. - -2004-01-29 Jan-Hinnerk Reichert - - * par.c: changed order of port-read/writes in par_txrx(). - This change should increase immunity to delays in the - programmer-hardware. - Also did some unrelated cleanup in par_txrx(). - -2004-01-28 Jan-Hinnerk Reichert - - * pgm.[ch], main.c, par.c, avr910.c, butterfly.c, stk500.c: - Move save/restore-functionality into open/close. - * par.c: open/close now saves/restores PPICTRL, too. - * TODO: exitspecs don't work if RESET is in PPICTRL. - -2004-01-26 Theodore A. Roth - - * configure.ac (AC_INIT): Post release version update. - -2004-01-26 Theodore A. Roth - - * AVRDUDE 4.3.0 has been released (cvs release tag is "release_4_3_0"). - -2004-01-26 Theodore A. Roth - - * configure.ac: Update copyright year. - (AC_INIT): Set version to 4.3.0. - -2004-01-25 Theodore A. Roth - - * ChangeLog: Minor formatting cleanups. - Move to all 2003 entries to ChangeLog-2003. - * ChangeLog-2003: New file. - * Makefile.am: Update copyright year. - (EXTRA_DIST): Add ChangeLog-2003. - -2004-01-17 Jan-Hinnerk Reichert - - * doc/avrdude.texi: Get rid of those black boxes marking "overfull - hbox". - -2004-01-17 Jan-Hinnerk Reichert - - * doc/avrdude.texi: New appendix "Troubleshooting". - -2004-01-12 Jan-Hinnerk Reichert - - * avr910.c, avrpart.c, avrpart.h, doc/TODO: - Look up devicecode and report device. - -2004-01-03 Jan-Hinnerk Reichert - - * avr910.c, pgm.c, pgm.h, config_gram.y, lexer.l: Add new configuration - parameter baudrate to support avr910-programmers with non-standard - baudrates. - * avrdude.conf.in, doc/avrdude.texi: Added "baudrate" to documentation. - -2004-01-03 Jan-Hinnerk Reichert - - * avr910.c: Removed debugging stuff that is no longer needed. - -2004-01-03 Jan-Hinnerk Reichert - - * doc/TODO: Removed two items. - -2004-01-03 Jan-Hinnerk Reichert - - * main.c, avr.c, avr.h, par.c, stk500.c: Add function - avr_chip_erase() to unify handling of cycle-count. - Makes cycle-count work for avr910-programmers. - diff --git a/ChangeLog-2007 b/ChangeLog-2007 deleted file mode 100644 index 3514da7e..00000000 --- a/ChangeLog-2007 +++ /dev/null @@ -1,364 +0,0 @@ -2007-11-08 Joerg Wunsch - - * main.c: Partially revert the line buffered output change, - and turn stderr into unbuffered output while producing the - progress report. - -2007-11-07 Joerg Wunsch - - * main.c: Add setup and teardown hooks to the programmer - definition. If present, call the setup hook immediately after - finding the respective programmer object, and schedule the - teardown hook to be called upon exit. This allows the - programmer implementation to dynamically allocate private - programmer data. - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * avr910.c: Convert static programmer data into dynamically - allocated data. - * butterfly.c: (Ditto.) - * jtagmkI.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * stk500v2.c: (Ditto.) - * usbasp.c: (Ditto.) - * usbtiny.c: (Ditto.) - -2007-11-06 Joerg Wunsch - - * butterfly.c: Remove the no_show_func_info() calls, as Brian - promised some 4 years ago. - -2007-11-06 Joerg Wunsch - - * main.c: Add the -x option to pass extended parameters to - the programmer backend. - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * jtagmkII.c: Implement the extended parameter jtagchain= - to support JTAG daisy-chains. - * avrdude.1: Document all of the above. - * doc/avrdude.texi: (Ditto.) - -2007-10-30 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version for post-release. - -2007-10-29 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version, releasing avrdude-5.5. - -2007-10-29 Joerg Wunsch - - Submitted by : - patch #5007: Patch for line-buffering of stdout and stderr - * main.c: call setvbuf() for stdout and stderr. - -2007-10-29 Joerg Wunsch - - Submitted by : - patch #5953: Add AT90CAN64 and AT90CAN32 to avrdude.conf - * avrdude.conf.in: Add entry for AT90CAN64 and AT90CAN32. - -2007-10-29 Joerg Wunsch - - Submitted by Wolfgang Moser: - patch #6121: ISP support for the C2N232I device (serial port - bitbanging) - * avrdude.conf.in: Add entry for c2n232i. - -2007-10-29 Joerg Wunsch - - Submitted by : - patch #6141: accept binary format immediate values - * fileio.c: Detect a 0b prefix, and call strtoul() differently - in that case. - -2007-10-29 Joerg Wunsch - - bug #21076: -vvvv serial receive prints are empty in Win32 build - * ser_win32.c (ser_recv): Drop the essentially unused variable - "len", and use the variable "read" in order to track how many - bytes have just been read in. - -2007-10-29 Joerg Wunsch - - bug #21145: atmega329p not recognized - * avrdude.conf.in: Add definitions for the ATmega329P/3290P. - Same as ATmega329/3290 except of the different signature. - -2007-10-29 Joerg Wunsch - - bug #21152: Unable to program atmega324p with avrdude 5.4 and AVRISP - using default configuration file. - * avrdude.conf.in: Uncomment the (bogus) stk500_devcode lines for - the ATmega164P, ATmega324P, ATmega644, and ATmega644P definitions. - This only affects users of STK500v1 firmware. - -2007-10-29 Joerg Wunsch - - Submitted by : - Patch #6233: Add support for USBtinyISP programmer - * usbtiny.c: New file. - * usbtiny.h: (Ditto.) - * Makefile.am: Include usbtiny into the build. - * avrdude.conf.in: (Ditto.) - * config_gram.y: (Ditto.) - * lexer.l: (Ditto.) - * avrdude.1: Document the usbtiny support. - * doc/avrdude.texi: (Ditto.) - -2007-10-29 Joerg Wunsch - - * doc/avrdude.texi: Sort list of supported programmers into - alphabetical order, add all missing programmers. - -2007-07-24 Thomas Fischl - - * usbasp.c: Added long addresses to support devices with more - than 64kB flash. Closes bug #20558: Long address problem with - USBasp. - -2007-06-27 Joerg Wunsch - - * Makefile.am (EXTRA_DIST): Add ChangeLog-2004-2006. - -2007-05-16 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version for post-release. - -2007-05-16 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version, releasing avrdude-5.4. - -2007-05-16 Joerg Wunsch - - * avrdude.conf.in: Fix AVR910 devcodes. It seems that the AVR109 - listing refers to "BOOT"-type code, while the standard codes are - different (usually one below). - -2007-05-16 Joerg Wunsch - - * avr.c (avr_read, avr_write): only use the paged_load and - paged_write backend functions iff the memory area in question has - a page_size != 0. - This is supposed to fix bug #19234: avrdude-5.3.1 segfaults when - stk500v1 tries to program an ATtiny15 - -2007-05-15 Joerg Wunsch - - * avr910.c: Fall back to avr_{read,write}_byte_default(). Fixes - bug #18803: Fuse reading regression in avrdude 5.3.1 with avr910 - programmer - -2007-05-15 Colin O'Flynn - - * avrdude.conf.in: Rename the ATmega164 and ATmega324 into - ATmega164P and ATmega324P, resp. Add an entry for the ATmega644P. - Fixes bug #19769: ATmega164p not recognized - -2007-05-15 Joerg Wunsch - - * ser_posix.c (ser_send): Don't select() on the output fd before - trying to write something to the serial line. That kind of - polling isn't very useful anyway, and it seems it breaks for the - Linux CP210x USB<->RS-232 bridge driver which is certainly a bug - in the driver, but we can just avoid that bug alltogether. - -2007-05-15 Joerg Wunsch - - * avrdude.conf.in: Fix the STK500v2 ISP delay parameter for - ATmega640/1280/1281/2560/2561. Atmel has changed the XML - files after the initial release. - -2007-05-01 Colin O'Flynn - - * safemode.c: -Oops - bug in verbose output. Fixed. - -Fixed handling of cases where programmer cannot read fuses (AVR910) - * main.c: -Also fixing handling of cases where programmer cannot - read fuses - This should close one or more bugs (18803, 19570) - -2007-05-01 Colin O'Flynn - - * safemode.c: Added verbose output from safemode routines. - -2007-03-25 Colin O'Flynn - - * stk500generic.c: Forgot to close the serial port before trying to - open it again, caused problems on Windows machines. - Closes bug #19411 - -2007-02-26 Joerg Wunsch - - * avrdude.conf.in: Add the AT90PWM2/3B devices. - -2007-02-02 Thomas Fischl - - * usbasp.c: Changed return value of function usbasp_initialize to stop - avrdude on communication errors between programmer and target. - Closes bug #18581: safemode destroys fuse bits - -2007-02-01 Joerg Wunsch - - * config_gram.y: Remove duplicate definition of token K_WRITEPAGE - -2007-01-30 Joerg Wunsch - - * butterfly.c: Implement ATmega256x support for butterfly/avr109. - -2007-01-30 Joerg Wunsch - - * configure.ac: Fix subdir handling. Now finally, "make - distcheck" will include the documentation into the tarball even if - the configure had been run without the --enable-doc. - -2007-01-30 Joerg Wunsch - - * safemode.c: Obtain progname from avrdude.h rather than trying to - roll our own (duplicate) copy of it. - * avr910.c: Constify char pointers. - * avrpart.c: (Ditto.) - * avrpart.h: (Ditto.) - * butterfly.c: (Ditto.) - * config.c: (Ditto.) - * config.h: (Ditto.) - * jtagmkI.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * par.c: (Ditto.) - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * stk500.c: (Ditto.) - * stk500v2.c: (Ditto.) - * usbasp.c: (Ditto.) - -2007-01-29 Joerg Wunsch - - * avrpart.c: More backend/library abstraction and generalization: - turn the list_parts() and list_programmers() functions into - general list iteration functions that call a caller-supplied - callback for each element. Implement list_parts() and - list_programmers() as private functions in main.c based on that - approach. - * avrpart.h: (Ditto.) - * main.c: (Ditto.) - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - -2007-01-25 Joerg Wunsch - - * Makefile.am: Rearrange everything so it is now built into a - libavrdude.a library, and link main.c against that library. - * configure.ac: Add AC_PROG_RANLIB as we are building a library - now. - -2007-01-24 Joerg Wunsch - - Major code cleanup. - - Make all internal functions "static". - - Make sure each module's header and implementation file match. - - Remove all library-like functionality from main.c, so only - the actual frontend remains in main.c. - - Add C++ brackets to all header files. - * avr.c: (Ditto.) - * avr.h: (Ditto.) - * avr910.c: (Ditto.) - * avr910.h: (Ditto.) - * avrdude.h: (Ditto.) - * avrpart.c: (Ditto.) - * avrpart.h: (Ditto.) - * bitbang.h: (Ditto.) - * butterfly.h: (Ditto.) - * config.c: (Ditto.) - * config.h: (Ditto.) - * confwin.h: (Ditto.) - * crc16.c: (Ditto.) - * crc16.h: (Ditto.) - * fileio.c: (Ditto.) - * fileio.h: (Ditto.) - * jtagmkI.h: (Ditto.) - * jtagmkII.h: (Ditto.) - * lexer.l: (Ditto.) - * lists.h: (Ditto.) - * main.c: (Ditto.) - * par.h: (Ditto.) - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * ppi.c: (Ditto.) - * ppi.h: (Ditto.) - * safemode.h: (Ditto.) - * serbb.h: (Ditto.) - * serial.h: (Ditto.) - * stk500.h: (Ditto.) - * stk500v2.c: (Ditto.) - * stk500v2.h: (Ditto.) - * term.c: (Ditto.) - * term.h: (Ditto.) - * usbasp.h: (Ditto.) - * update.c: New file. - * update.h: New file. - * Makefile.am: Include update.c and update.h. - -2007-01-24 Joerg Wunsch - - Move all "extern" declarations into a centreal header file. - * Makefile.am: Add new avrdude.h. - * avrdude.h: New file. - * avr.c: Replace private extern decl's by #include "avrdude.h". - * avr910.c: (Ditto.) - * avrpart.c: (Ditto.) - * bitbang.c: (Ditto.) - * butterfly.c: (Ditto.) - * config.c: (Ditto.) - * config_gram.y: (Ditto.) - * fileio.c: (Ditto.) - * jtagmkI.c: (Ditto.) - * jtagmkII.c: (Ditto.) - * lexer.l: (Ditto.) - * main.c: (Ditto.) - * par.c: (Ditto.) - * pgm.c: (Ditto.) - * ppi.c: (Ditto.) - * ppiwin.c: (Ditto.) - * ser_avrdoper.c: (Ditto.) - * ser_posix.c: (Ditto.) - * ser_win32.c: (Ditto.) - * serbb_posix.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * stk500.c: (Ditto.) - * stk500generic.c: (Ditto.) - * stk500v2.c: (Ditto.) - * term.c: (Ditto.) - * usb_libusb.c: (Ditto.) - * usbasp.c: (Ditto.) - -2007-01-13 Joerg Wunsch - - * avrdude.conf.in (ATmega8): Bump the delay values for flash - and EEPROM, based on the current Atmel XML file. - -2007-01-12 Joerg Wunsch - - * configure.ac: Improve the detection of the Win32 HID library, - and the presence of the header ddk/hidsdi.h. It now works - correctly under Cygwin and several flavours of MinGW. - * Makefile.am: Add new LIBHID pattern. - -2007-01-11 Joerg Wunsch - - * butterfly.c (butterfly_initialize): when sending the 'T' - command (which is ignored by current AVR109 bootloaders), - send the first reply from the list of supported device - codes back rather than using avrdude.conf's idea about - an AVR910 device code. Apparently, this solves disagreements - between different versions of at least the ATmega8 AVR910 - device code. - Closes bug #18727: Writing flash failed - -2007-01-07 Joerg Wunsch - - Reported by Till Harbaum: - * avrdude.conf.in (ATtiny25/45/85): Change HVSP reset from - 500 microseconds to 1 ms, matching the most recent Atmel XML - specs. diff --git a/ChangeLog-2008 b/ChangeLog-2008 deleted file mode 100644 index f43a10ab..00000000 --- a/ChangeLog-2008 +++ /dev/null @@ -1,185 +0,0 @@ -2008-11-20 Joerg Wunsch - - * avrdude.h: Change the prototype for usleep() to be more Cygwin- - friendly. - * ppiwin.c: (Ditto.) - -2008-11-06 Joerg Wunsch - - Submitted by limor - * usbtiny.c (usbtiny_cmd): Replace sizeof() by a fixed constant - 4 for the result array, because otherwise it would take the size - of a pointer which miserably fails on 64-bit machines. - -2008-11-05 Joerg Wunsch - - patch #6609: Using PCI parallel port cards on Windows - * ppiwin.c (ppi_open): If the port parameter passed from the - -p option is neither lpt1/2/3, try interpreting it directly as - a base address. - * avrdude.1: Document the change. - * doc/avrdude.texi: (Ditto.) - -2008-11-04 Joerg Wunsch - - bug #22882: Erase Cycle Counter does not work for stk500v2 - * stk500v2.c (stk500v2_chip_erase,stk500hv_chip_erase): Return - the expected 0 for success rather than a protocol-dependant - number. - -2008-11-04 Joerg Wunsch - - bug #22883: Chip Erase performed even with no-write flag (-n) - * main.c: Do not erase the chip if both, -e and -n options have - been specified. - -2008-11-04 Joerg Wunsch - - bug #24589: AT90USB64* have wrong signature - * avrdude.conf.in: Uncomment the correct, and delete the wrong - signature for AT90USB646/647. Alas, the datasheet has never been - corrected for years. - -2008-10-31 Joerg Wunsch - - * jtagmkII.c: Fix a serious memory corruption that happened when - using the JTAG ICE mkII (or AVR Dragon) in ISP mode. The wrong - set of per-programmer private data had been allocated (stk500v2 - vs. jtagmkII) which was too small to hold the actual data. - * jtagmkII.h: (Ditto.) - * stk500v2.c: (Ditto.) - -2008-07-29 Joerg Wunsch - - * jtagmkII.c: Implement Xmega JTAG support. - * jtagmkII_private.h: Add EMULATOR_MODE_JTAG_XMEGA. - -2008-07-29 Joerg Wunsch - - * main.c: Remember whether the device initialization worked, and - allow to continue with -F if it failed yet do not attempt to - perform anything on the device itself. That way, -tF could be - specified for programmers like the STK500/STK600 even without a - device connected, just in order to allow changing parameters on - the programmer itself. - * avrdude.1: Document that possible use of the -F option. - * doc/avrdude.texi: (Ditto.) - -2008-07-29 Joerg Wunsch - - * stk500v2.c (stk600_xprog_paged_write): Fix a fatal miscalculation - of the number of bytes to be written which caused a malloc chunk - corruption. - -2008-07-27 Joerg Wunsch - - First implementation of ATxmega support. By now, only the - PDI mode of the STK600 is supported. Single-byte EEPROM - (and flash) updates do not work yet. - * avr.c: "boot" memory is a candidate memory region for paged - operations, besides "flash" and "eeprom". - * avrdude.conf.in: add ATxmega128A1 and ATxmega128A1revD - * avrpart.h: add the AVRPART_HAS_PDI flag (used to distinguish - ATxmega parts from classic AVRs), the nvm_base part field, and - the offset field for a memory region. - * config_gram.y: add "has_pdi", "nvm_base", and "offset" - * lexer.l: (Ditto.) - * main.c: disable auto_erase for ATxmega parts - * stk500v2.c: implement the XPROG functionality, and divert to - this for ATxmega parts - * avrdude.1: Document the changes. - * doc/avrdude.texi: (Ditto.) - -2008-07-25 Joerg Wunsch - - Fix a bunch of warnings. - * avr910.c (avr910_paged_load): possible unitialized use of - rd_size - * jtagmkI.c (jtagmkI_initialize): pointer signedness mixup - * jtagmkII.c (jtagmkII_print_parms1): propagate const'ness - of parameter - * usbasp.c (usbasp_transmit): pointer signedness mixup - * ser_avrdoper.c (usbGetReport): remove useless pointer deref - -2008-07-25 Joerg Wunsch - - Contributed by Ville Voipio: - patch #6501: New autotools support for avrdude - * Makefile.am: add @WINDOWS_DIRS@ to SUBDIR - * bootstrap: allow for autconf-2.61 and automake-1.10, too - * configure.ac: fix @WINDOWS_DIRS@ recursion, replace - AC_PROG_CC by AM_PROG_CC_C_O, for esoteric reasons - -2008-06-13 Joerg Wunsch - - Contributed by Janos Sallai : - patch #6074: added support for crossbow's MIB510 programmer - * avrdude.conf.in: Add entry for mib510. - * stk500.c: Add special hooks to handle the MIB510 programmer. - It mostly talks STK500v1 protocol but has a special hello and - goodbye sequence, and uses a fixed block size of 256 bytes. - * doc/avrdude.texi: Document support for mib510. - -2008-06-07 Joerg Wunsch - - Contributed by Klaus Leidinger : - * main.c: Realign verbose messages. - * avrpart.c: (Ditto.) - * avr910.c: Print the device code selected in verbose mode. - * butterfly.c: (Ditto.) - -2008-06-07 Joerg Wunsch - - Contributed by Klaus Leidinger : - Add check for buffermode feature, and use it if present. Can be - turned off using -x no_blockmode. - * avr910.c: Implement buffermode test and usage. - * avrdude.1: Document -x no_blockmode. - * doc/avrdude.texi: (Ditto.) - -2008-03-24 Joerg Wunsch - - * usb_libusb.c: #undef interface for Win32 - -2008-03-24 Joerg Wunsch - - * avr910.c: Add support for the -x devcode option. - * avrdude.1: Document -x devcode for avr910. - * doc/avrdude.texi: (Ditto.) - -2008-03-14 Joerg Wunsch - - Add initial support for the Atmel STK600, for - "classic" AVRs (AT90, ATtiny, ATmega) in both, - ISP and high-voltage programming modes. - * Makefile.am: Add -lm. - * avrdude.conf.in: Add stk600, stk600pp, and stk600hvsp. - * config_gram.y: Add support for the stk600* keywords. - * lexer.l: (Ditto.) - * pgm.h: Add the "chan" parameter to set_varef(). - * stk500.c: (Ditto.) - * serial.h: Add USB endpoint support to struct filedescriptor. - * stk500v2.c: Implement the meat of the STK600 support. - * stk500v2.h: Add new prototypes for stk600*() programmers. - * stk500v2_private.h: Add new constants used in the STK600. - * term.c: Add AREF channel support. - * usb_libusb.c: Automatically determine the correct write - endpoint ID, the STK600 uses 0x83 while all other tools use - 0x82. Propagate the EP to use through struct filedescriptor. - * usbdevs.h: Add the STK600 USB product ID. - * tools/get-stk600-cards.xsl: XSL transformation for - targetboards.xml to obtain the list of socket and routing - card IDs, to be used in stk500v2.c (for displaying the - names). - * tools/get-stk600-devices.xsl: XSL transformation for - targetboards.xml to obtain the table of socket/routing cards - and their respective AVR device support for doc/avrdude.texi. - * avrdude.1: Document all the STK600 stuff. - * doc/avrdude.texi: Ditto. Added a new chapter for - Programmer Specific Information. - -2008-01-26 Joerg Wunsch - - * stk500v2.c (stk500v2_recv): Make length computation unsigned so - it cannot accidentally become negative. - diff --git a/ChangeLog-2009 b/ChangeLog-2009 deleted file mode 100644 index 1f993cbc..00000000 --- a/ChangeLog-2009 +++ /dev/null @@ -1,411 +0,0 @@ -2009-11-09 David Hoerl - - * fileio.c: ihex2bin did not properly handle files > 64K bytes - * usb_libusb.c: re-enabled usb_reset for Macs (no reset causes lots of failures) - * avrdude.1: spacing issue for avr32 fixed. - -2009-11-09 Michal Ludvig - - * buspirate.c: Implemented reset= and speed= extended parameters. - * avrdude.1: Document the change. - -2009-11-04 Michal Ludvig - - * configure.ac, Makefile.am: Test if GCC accepts -Wno-pointer-sign - -2009-11-04 Michal Ludvig - - * buspirate.c: Implemented 'BinMode' support for - firmware 2.7 and higher. - * avrdude.1: Added info about BusPirate. - -2009-11-03 Michal Ludvig - - * arduino.c: Add on to bug #26703 / patch #6866 - clear DTR/RTS - when closing the port. - * Makefile.am: Silent warnings about signedness - they're useless - and annoying, especially for 'char' vars. - -2009-10-22 David Hoerl - - * usb_libusb.c: disabled usb_reset for Macs (same as FreeBSD) - -2009-10-12 Michal Ludvig - - * main.c: Re-added default to serial port for BusPirate. - -2009-10-12 David Hoerl - - * main.c: removed some avr32 code that was pushed into jtagmkII.c - * jtagmkII.c: consolodated the avr32 reset code and avr32_chipreset - * avrpart.h: modified AVRPART flags for avr32 - * lexer.l: added is_avr32 flag - only way to get yacc code to set flag - * avrdude.conf.in: updated avr32 section to include "is_avr32" flag - -2009-10-12 David Hoerl - - * config_gram.y: Restored inadvertantly removed buspirate entry - * lexer.l: Restored inadvertantly removed buspirate entry - -2009-10-12 Michal Ludvig - - * buspirate.c: Replace GNU-only %as with %s in sscanf call. - * ser_win32.c(ser_set_dtr_rts): Fixed typo in parameter name. - * NEWS: Announce BusPirate. - -2009-10-11 David Hoerl - - Support for AVR32 - - * AUTHORS: added myself - * NEWS: announced AVR32 support - * main.c: AVR32 flag tests to avoid several code blocks - * fileio.c: mods to ihex read function to handle address offsets and - size of avr32 - * jtagmkI.c: added cast to printf call to remove warning - * arduino.c: added header file to bring in prototype for usleep() - * config_gram.y: added defines for avr32, new jtag_mkii variant for avr32 - * jtagmkII_private.h: new jtag_mkii message types defined (used by - avr32program) - * jtagmkII.h: extern jtagmkII_avr32_initpgm() addition - * jtagmkII.c: huge amount of code in support of avr32 - * avrpart.h: additional flags to AVRPART for avr32 - * usb_libusb.c: modified verbose test for USB read per-byte messages by - by one, so with verbose=3 you get just full messages, 4 gives you bytes - too - * lexer.l: additions for avr32 - -2009-10-10 Michal Ludvig - - Support for Arduino auto-reset: - * serial.h, ser_avrdoper.c, ser_posix.c, ser_win32.c: Added - serial_device.set_dtr_rts implementations. - * arduino.c, stk500.c, stk500.h: Call serial_set_dtr_rts() - to reset Arduino board before program upload. - Inspired by patch #6866, resolves bug #26703 - -2009-10-08 Michal Ludvig - - * buspirate.c: Optimised buspirate_cmd() - reading 1kB EEPROM now - takes only 14 sec instead of almost 2 mins with the original - implementation. - -2009-10-08 Michal Ludvig - - * buspirate.c, buspirate.h: Support for the BusPirate programmer - * config_gram.y, avrdude.conf.in, main.c, lexer.l, Makefile.am: - Glue for BusPirate. - -2009-08-17 Joerg Wunsch - - * usb_libusb.c (usbdev_close): Repair the logic around the - conditional compilation of usb_reset() introduced in r798. - -2009-07-11 Joerg Wunsch - - * configure.ac: We are post-5.8 now. - -2009-07-11 Joerg Wunsch - - * configure.ac: Prepare for releasing version 5.8 - -2009-07-11 Joerg Wunsch - - Submitted by Roger Wolff: - bug #26527: bug in unicode conversion - * ser_avrdoper.c (convertUniToAscii): when encountering a UTF-16 - character that cannot be converted to ASCII, increment the UTF-16 - pointer anyway when proceeding. - -2009-07-11 Joerg Wunsch - - * jtagmkI.c (jtagmkI_send): Replace %zd format by %u since not all - implementations do understand the C99 formatting options (sigh). - * jtagmkII.c (jtagmkII_send): (Ditto.) - * stk500v2.c (stk500v2_recv): (Ditto.) - -2009-07-11 Joerg Wunsch - - bug #26002: HVPP of EEPROM with AVR Dragon and ATmega8 Fails - * avrdude.conf.in (ATmega8): add page size for EEPROM. - -2009-07-07 Joerg Wunsch - - * stk500v2.c: Fix a serious memory corruption problem resulting - out of the chaining of both, the stk500v2 and the jtagmkII - programmers for some programming hardware (JTAG ICE mkII and AVR - Dragon running in ISP, HVSP or PP mode), where both programmers - have to maintain their private programmer data. - -2009-07-02 Joerg Wunsch - - * configure.ac: Post-release (is pre-release...) - -2009-07-02 Joerg Wunsch - - * configure.ac: Prepare for releasing version 5.7 - -2009-07-02 Joerg Wunsch - - * main.c: Add my name to the copyright output when being verbose. - -2009-07-02 Joerg Wunsch - - Contributed by Shaun Jackman - bug #21798: Fix both XSLT scripts - * tools/get-dw-params.xsl (format-hex): Add the parameter count. - * tools/get-hv-params.xsl (format_cstack): Ditto. - -2009-07-02 Joerg Wunsch - - bug #21922: ATmega163 still not working in version 5.5 - * avrdude.conf.in (atmega163): fill in stk500v2 parameters, correct - some flash programming parameters as well. - -2009-07-02 Joerg Wunsch - - bug #22206: avrdude: ser_setspeed(): tcsetattr() failed - * ser_posix.c (ser_setspeed): Don't pass TCSAFLUSH to tcsetattr() as - it apparently fails to work on Solaris. After reading the - documentation again, it seems TCSAFLUSH and TCSANOW are indeed - mutually exclusive. - -2009-07-02 Joerg Wunsch - - bug #22234: WINDOWS version: HOWTO: Specify Serial Ports Larger than COM9 - * ser_win32.c (ser_open): prepend \\.\ to any COM port name, so it is - safe to be used for COM ports above 9. - -2009-07-02 Joerg Wunsch - - bug #26408: Crash in stk500v2_open() - * stk500generic.c: Implement setup and teardown hooks, calling in turn - the respective hooks of the stk500v2 implementation. - -2009-07-02 Joerg Wunsch - - bug #26130: Avrdude doesn't display it's version. - * main.c (usage): add a version number display to the default usage - message. - -2009-07-01 Joerg Wunsch - - bug #26412: avrdude segfaults when called with a programmer that does not - support it - * main.c: do not call pgm->perform_osccal() unless it is != 0. - -2009-06-24 Joerg Wunsch - - Contributed by Zoltan Laday: - patch #6825: xmega problems with JTAGICEmkII - * jtagmkII.c: Many fixes for Xmega devices. - * jtagmkII_private.h: Add various new constants required for - Xmega devices. - * avrdude.conf.in: New devices: ATXMEGA64A1, ATXMEGA192A1, - ATXMEGA256A1, ATXMEGA64A3, ATXMEGA128A3, ATXMEGA192A3, - ATXMEGA256A3, ATXMEGA256A3B, ATXMEGA16A4, ATXMEGA32A4, - ATXMEGA64A4, ATXMEGA128A4 - * avr.c (avr_read, avr_write): Add more names for (Xmega) - memory areas that require paged operation. - -2009-06-24 Joerg Wunsch - - * stk500v2.c (stk600_xprog_write_byte): Handle writing fuse bytes. - -2009-04-28 Joerg Wunsch - - Submitted by Carl Hamilton: - * update.c (parse_op): correctly \0-terminate buf after filling - it, before it is potentially used as the source of a call to - strlen or strcpy. - -2009-04-14 Joerg Wunsch - - * doc/avrdude.texi: Merge the -P 0xXXX option description from - avrdude.1. - -2009-04-14 Joerg Wunsch - - * configure.ac: declare AM_PROG_CC_C_O to avoid the warning - "compiling `config_gram.c' with per-target flags - requires `AM_PROG_CC_C_O' in `configure.ac'" - -2009-03-22 Joerg Wunsch - - bug #25971: "error writing to " with multiple -U params. - * fileio.c: Do not close the input/output stream when working on an - stdio stream. - -2009-02-28 Thomas Fischl - - Based on patch #6484 commited by Jurgis Brigmanis: - * usbasp.c: added software control for ISP speed - * usbasp.h: (Ditto.) - -2009-02-28 Joerg Wunsch - - * avr910.c (avr910_read_byte_flash): Eliminate a static variable that - hasn't been in use for 5 years. - -2009-02-27 Joerg Wunsch - - * configure.ac: Post-release 5.6. - -2009-02-27 Joerg Wunsch - - * configure.ac: Prepare for releasing version 5.6. - -2009-02-27 Joerg Wunsch - - Submitted by Ed Okerson: - * jtagmkII.c (jtagmkII_read_byte): Fix signature reading of - Xmega. - -2009-02-26 Joerg Wunsch - - Submitted by Mikael Hermansson: - * avrdude.conf.in (ATxmega256A3): new device. - * stk500v2 (stk500v2_initialize): Enable the AVRISPmkII as a - PDI-capable device for ATxmega parts. - -2009-02-25 Joerg Wunsch - - Submitted by Lars Immisch: - patch #6750: Arduino support - new programmer-id - * arduino.c: New file, inherits stk500.c. - * arduino.h: New file. - * Makefile.am: Add arduino.c and arduino.h. - * config_gram.y: Add arduino keyword. - * lexer.l: (Ditto.) - * avrdude.conf.in: (Ditto.) - * avrdude.1: Document the new programmer type. - * doc/avrdude.texi: (Ditto.) - -2009-02-25 Joerg Wunsch - - * stk500v2.c: Turn all non-const static data into instance data. - -2009-02-25 Joerg Wunsch - - * Makefile.am: Move term.[ch] from the library into the CLI - application section, as it is not useful for anything else but - the CLI frontend. - -2009-02-25 Joerg Wunsch - - * avrdude.conf.in (ATmega1284P): new device. - -2009-02-23 Joerg Wunsch - - More fixes for Solaris, including fixes for the Sunpro compiler: - * avr.h: Remove stray semicolon. - * configure.ac: Add check for predefined types uint_t and ulong_t. - * confwin.c: Include "avrdude.h" on top to avoid empty translation - unit warning. - * ppwin.c: (Ditto.) - * ser_win32.c: (Ditto.) - * serbb_win32.c: (Ditto.) - * jtagmkII.c (jtagmkII_recv): remove unreachable "return". - * stk500.c (stk500_initialize): (Ditto.) - * par.c: Test for both, __sun__ and __sun to see whether we are - being compiled on Solaris. - * ppi.c: (Ditto.) - * stk500v2.c: Implement the DEBUG and DEBUGRECV macros in a way - that is compatible with the ISO C99 standard. - * usbtiny.c: Only typedef uint_t and ulong_t if they have not - been found already by the autoconf checks. - -2009-02-23 Joerg Wunsch - - bug #22204: Solaris10/11 Undefiniertes Symbol gethostbyname socket - connect - * configure.ac: Add checks for gethostent() and socket(). - While being here, remove some old cruft left from ancient days. - -2009-02-22 Joerg Wunsch - - * lexer.l: Bump the %p size so AT&T lex will continue to work. - -2009-02-19 Joerg Wunsch - - (Partially) submitted by John Voltz: - bug #20004: AVRDUDE update (-U) operations do not close files - * fileio.c (fmt_autodetect, fileio): fclose() files. - -2009-02-18 Joerg Wunsch - - * usbtiny.c: Replace all but one (very unlikely to trigger) exit(1) - by return -1. - -2009-02-18 Joerg Wunsch - - Submitted by Dick Streefland: - patch #6749: make reading from the USBtinyISP programmer more robust - * usbtiny.c: Add code to retry failed communication attempts. - -2009-02-17 Joerg Wunsch - - Submitted by Nick Hibma: - bug #22271: usb_reset in usb_libusb.c not necessary in FreeBSD 6.x - * usb_libusb.c (usbdev_close): Do not call usb_reset() on FreeBSD. - It is not necessary there. - -2009-02-17 Joerg Wunsch - - Submitted by Andrew O. Shadoura: - bug #25156: add direct SPI transfer mode - * bitbang.c: Implement direct SPI transfers. - * bitbang.h: (Ditto.) - * par.c: (Ditto.) - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * term.c: Add the "spi" and "pgm" commands. - * avrdude.1: Document the changes. - * doc/avrdude.texi: (Ditto.) - -2009-02-17 Joerg Wunsch - - Submitted by Limor ("Lady Ada"): - bug #24749: add support for '328p - * avrdude.conf.in (ATmega328P): new device support. - -2009-02-17 Joerg Wunsch - - Submitted by "Womo": - bug #25241: AT90USB162, AT90USB82 device support patch for avrdude-5.5 - (also: bug #21745: AT90USBxx2 support) - * avrdude.conf.in (AT90USB162, AT90USB82): new device support. - -2009-02-17 Joerg Wunsch - - Submitted by Evangelos Arkalis: - patch #6069: Atmel AT89ISP Cable - * avrdude.conf.in (89isp): new programmer support. - -2009-02-16 Joerg Wunsch - - Submitted by Bob Paddock: - patch #6748: ATTiny88 Config - * avrdude.conf.in (ATtiny88): new device support. - -2009-02-16 Joerg Wunsch - - Submitted by Mark Litwack: - patch #6261: avrdude won't use dragon/debugwire to write a file - to eeprom - * jtagmkII.c (jtagmkII_paged_write): when in debugWire mode, - implement a paged write to EEPROM as a series of byte writes. - -2009-02-16 Joerg Wunsch - - Submitted by Janos Sallai: - patch #6542: paged_load fails on the MIB510 programming board - * stk500.c: Add a workaround for the different signon sequence on - MIB510 programmers. - -2009-02-05 Joerg Wunsch - - * avrdude.conf.in: Add the ATmega128RFA1. - * avrdude.1: document the addition of ATmega128RFA1. - * doc/avrdude.texi: (Ditto.) - diff --git a/ChangeLog-2010 b/ChangeLog-2010 deleted file mode 100644 index 45effefa..00000000 --- a/ChangeLog-2010 +++ /dev/null @@ -1,354 +0,0 @@ -2010-12-17 Joerg Wunsch - - * avrdude.conf.in (ATmega128RFA1): Bump two timing values in order to - improve ISP programming stability, in particular with the STK600. - -2010-12-14 Joerg Wunsch - - * stk500v2.c (stk500v2_command): Detect warning status codes. - -2010-10-22 Nils Springob - - * serial.h: serial_open() calls will now return -1 on error (no call to exit()) - * buspirate.c: (Dito.) - * jtagmkII.c: (Dito.) - * butterfly.c: (Dito.) - * jtagmkI.c: (Dito.) - * arduino.c: (Dito.) - * avr910.c: (Dito.) - * stk500.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * stk500v2.c: (Dito.) - * ser_posix.c: (Dito.) - * usb_libusb.c: (Dito.) - -2010-07-27 Joerg Wunsch - - bug #30566: MinGW + Ubuntu 9.04 - * stk500v2.c (stk500v2_open): use same condition to refer to the AVR - Doper support as used in the definition in ser_avrdoper.c. - (Thanks to Christian Starkjohann for the analysis of the problem.) - -2010-07-19 Michal Ludvig - - * buspirate.c: Added compatibility with BusPirate "NewUI" firmware 5.x - (contributed by Kari Knuuttila) - -2010-07-12 Nils Springob - - * avrdude.conf.in (atmega88p): New device. - -2010-06-03 Joerg Wunsch - - bug #29913: 246 Byte Bug - AVRdude crashes - doc/avrdude.texi (Troubleshooting): Mention the libusb 0.1 API - wrapper issue that is present in some Linux versions. - -2010-03-19 Joerg Wunsch - - bug #29263: Can't build avrdude on windows using latest cygwin 1.7.1 - * doc/avrdude.texi: Remove the recommendation for building - Win32 binaries under Cygwin; mention MinGW as an alternative - environment. - -2010-03-08 Michal Ludvig - - * ser_posix.c(ser_set_dtr_rts): Fixed DTR on/off to make - Arduino auto-reset work. (bug #29108, patch #7100) - -2010-03-05 Joerg Wunsch - - * buspirate.c: Replace printf() by fprintf(stderr) - * safemode.c: (Dito.) - * usbtiny.c: (Dito.) - -2010-01-22 Joerg Wunsch - - Cleanup Cygwin builds. - * windows/Makefile.am (loaddrv_LDFLAGS): remove, the -mno-cygwin - flag is supposed to be set in CFLAGS by ./configure - * configure.ac: add a check for the presence of usleep(), add a - check whether the linker accepts -static - * avrdude.h: protect prototype for usleep by !defined(HAVE_USLEEP) - * ppwin.c (usleep): protect by !defined(HAVE_USLEEP) - * main.c: silence "array subscript of type char" compiler warnings - by casting all arguments to tolower()/toupper() and isspace()/ - isdigit()/ispunct() to "int" - * butterfly.c: (Dito.) - * avr910.c: (Dito.) - -2010-01-19 Joerg Wunsch - - * configure.ac: Bump for post-5.10. - -2010-01-19 Joerg Wunsch - - * configure.ac: Released version 5.10. - -2010-01-19 Joerg Wunsch - - bug #28677: Cygwin's GCC no longer supports -mno-cygwin option - * configure.ac: For Win32 environments, add a check whether the - compiler understands the -mno-cygwin option. If not, don't use - it but suggest using a different compiler. - -2010-01-18 David Hoerl - - bug #28660: Problem with loading intel hex rom files that exceed - 0x10000 bytes - * fileio.c: Fix two byte shifts. - -2010-01-15 Joerg Wunsch - - Submitted by Michael biebl: - * configure.ac: Fix FreeBSD default serial port name. - * doc/avrdude.texi: (Dito.) - -2010-01-15 Joerg Wunsch - - * jtagmkII.c: If entering JTAG mode fails with a bad JTAG ID - message, retry with external reset applied (in case the target - is in sleep mode or has asserted the JTD bit). - -2010-01-15 Joerg Wunsch - - Submitted by Aurelien Jarno: - * configure.ac: Fix build for GNU/kFreeBSD. - * ppi.c: (Dito.) - * par.c: (Dito.) - -2010-01-15 Joerg Wunsch - - * configure.ac: Bump version for post-5.8. - -2010-01-15 Joerg Wunsch - - * configure.ac: Bump version for release 5.8. - -2010-01-15 Joerg Wunsch - - Submitted by Soren Jorvang: - bug #28611: -i delay not being applied to all serial port - bit banging state transitions - * serbb_win32.c: Apply ispdelay everywhere. - * serbb_posix.c: (Dito.) - -2010-01-15 Joerg Wunsch - - * stk500v2_private.h: Implement TPI mode for AVRISPmkII/STK600 - * config_gram.y: (Dito.) - * avrpart.h: (Dito.) - * stk500v2.c: (Dito.) - * main.c: (Dito.) - * lexer.l: (Dito.) - * avrdude.conf.in: Add ATtiny4/5/9/10 - * avrdude.1: Document TPI and new device support. - * doc/avrdude.texi: (Dito.) - -2010-01-14 Joerg Wunsch - - Submitted by clint fisher: - patch #7038: Adding Atmega32U4 Device to avrdude.conf.in - * avrdude.conf.in (atmega32u4): New device. - * avrdude.1: Document the new device support. - * doc/avrdude.texi: (Dito.) - -2010-01-14 Joerg Wunsch - - Submitted by Thomas Pircher: - patch #6927: Documentation patches - * doc/avrdude.texi: Fix various typos, and remove the last - remnants of obsoleted options -i/-o/-m/-f. - * avrdude.1: Merge typo fixes from avrdude.texi where - applicable. - -2010-01-14 Joerg Wunsch - - * avrdude.1: Update documentation to match the reality (device - support, memory areas). - * doc/avrdude.texi: Update documentation to match the - reality (device support, programmer support, memory areas). - Merge buspirate-specific comments from avrdude.1. - * jtagmkII.c: Add some firmware feature checks. - -2010-01-13 Joerg Wunsch - - * jtagmkII.c: Implement PDI mode support for the JTAG ICE mkII - and the AVR Dragon. - * jtagmkII.h: (Dito.) - * config_gram.y: (Dito.) - * jtagmkII_private.h: (Dito.) - * avrdude.conf.in: (Dito.) - * lexer.l: (Dito.) - -2010-01-13 Joerg Wunsch - - * stk500v2.c: Update STK600 routing and socket card data from XML - file. - -2010-01-13 Joerg Wunsch - - * stk500v2.c: Cleanup the open/close handling to avoid accessing - unallocated memory (in the atexit handler) in case of bailing out. - * main.c: (Ditto.) - -2010-01-13 Joerg Wunsch - - * jtagmkII.c: Stylistic changes: move #defines out into - jtagmkII_private.h, drop all #if 0 blocks, fold overly long lines, - move the *_initpgm() functions to the end of the file; while being - here, remove all trailing whitespace. - * jtagmkII_private.h: move AVR32 #defines here. - -2010-01-12 Joerg Wunsch - - * bootstrap: autoconf 2.62 works well. - -2010-01-12 Joerg Wunsch - - Various fixes for Xmega devices. - * avrdude.conf.in: Correctly declare EEPROM page sizes for - all Xmega devices (0x20 instead of 0x100). - * avr.c: If a memory region has a page size declared, try - using the paged IO routines regardless of the target memory - name. Xmega EEPROM requires to be written in paged mode. - Correctly use a long (rather than unsigned long) variable to - evaluate the success status of the paged mode write attempt. - * stk500v2.c: Don't apply TIF space offsets twice (bug #27995: - AVRDUDE 5.8svn fails to program and read XMEGA); use - stk500v2_loadaddr() prior to paged mode (EEPROM and flash) writes, - otherwise programming of flash areas will fail; while being there, - check the return value of stk500v2_loadaddr() everywhere; use the - correct write/erase mode bits (same as AVR Studio does). - -2010-01-12 Michal Ludvig - - * buspirate.c: Initialise firmware version to v0.0 - prior to parsing the buspirate banner. - -2010-01-11 Joerg Wunsch - - Clean-up the Xmega erase functions. - * jtagmkII_private.h: Add CMND_XMEGA_ERASE as well as - the various XMEGA_ERASE_* definitions (from updated - appnote AVR067) - * jtagmkII.c (jtagmkII_chip_erase): Correctly implement Xmega chip - erase based on CMND_XMEGA_ERASE. After erasing an Xmega part, do - *not* reinitialize the world, as a subsequent programming - operation will fail (for unknown reasons). Actually, this was - really only required for ancient AVRs, but doesn't hurt on mega - and tiny devices. - * jtagmkII.c (jtagmkII_pre_write): Remove, this turned out - to be just a chip erase. - * jtagmkII.c (jtagmkII_program_disable): Don't try reading - "hfuse" for Xmega parts; they don't have it. - * main.c (main): Re-enable auto-erase. It's been done - before (as "jtagmkII_pre_write") in jtagmkII_paged_write() - anyway. Xmega boot and application flash areas should be - handled separately in the future, so auto_erase can only - affect the area just being programmed. - -2010-01-11 Joerg Wunsch - - * main.c (main): disable safemode for Xmega parts. - -2010-01-12 Michal Ludvig - - * buspirate.c: If the BusPirate doesn't respond - to a standard a reset command assume it was in binmode - and attempt to exit to text mode first. - -2010-01-08 Joerg Wunsch - - * bitbang.c: Fix Win32 build error: move freq up to the file - level. - * buspirate.c: Fix Win32 build warning: include to - to get a declaration for alloca(). - -2010-01-08 Thomas Fischl - - bug #28520: Programming with USBasp with low clock speed fails - * usbasp.c: Change blocksize depending on sck frequency to - avoid usb transmition timeouts. - -2010-01-08 Joerg Wunsch - - bug #27505: serbb_posix does not cope with inverted pins - * serbb_posix (serbb_highpulsepin): apply PIN_MASK when - checking pin numbers. - * serbb_win32 (serbb_highpulsepin): (Dito.) - -2010-01-08 Joerg Wunsch - - bug #28516: Linux/Dragon: Error message on exit - * stk500v2.c: Fix the "bad response to GO command: - RSP_ILLEGAL_EMULATOR_MODE" message. jtagmkII_close() - has been called with the wrong pgm->cookie. Wrap it - inside stk500v2_jtagmkII_close(), adjusting the cookie - data appropriately. - -2010-01-08 Joerg Wunsch - - Submitted by Doug: - patch #7010: Win32 enhanced bitbang_delay - * bitbang.c (bitbang_calibrate_delay, bitbang_delay): On Win32, - use the high-resolution performance counter rather than the - uneducated delay loop guess if it is available on the target - hardware. - -2010-01-08 Joerg Wunsch - - Submitted by Gerard: - patch #6828: Using arbitrary BAUD rates - * ser_posix.c (serial_baud_lookup): Allow non-standard baud - rates. - * ser_win32.c (serial_baud_lookup): (Dito.) - -2010-01-07 Joerg Wunsch - - Submitted by Eric Trein: - bug #27596: AT90s2333 is not correctly supported in avrdude.conf - * avrdude.conf.in (at90s2333): add various STK500v2 parameters. - -2010-01-07 Joerg Wunsch - - Submitted by Gyorgy Szekely: - bug #28458: Buffer line is incorrectly released for PP programmers - * par.c (par_close): use par_setmany() rather than par_setpin() - for PPI_AVR_BUFF. - -2010-01-07 Joerg Wunsch - - Submitted by Lukasz Goralczyk: - bug #27507: SIGSEGV when using avrdragon (avrdude 5.8) - * stk500v2.c (stk500v2_dragon_isp_initpgm): Use - stk500v2_jtagmkII_setup/stk500v2_jtagmkII_rather than their - jtagII counterparts, to get the private data properly - initialized. - -2010-01-07 Joerg Wunsch - - * buspirate.c: Cosmetics: remove UTF-8 dashes, adjust for 8-column - hard tabs. - -2010-01-07 Joerg Wunsch - - * buspirate.c: add $ Id $ line. - * buspirate.h: add $ Id $ line. - -2010-01-07 Joerg Wunsch - - Fix a few warnings that came up recently (some of them only triggered - by recent GCC versions). - * config_gram.y (parse_cmdbits): "brkt possibly used uninitialized" - (GCC errs here) - * jtagmkII.c (jtagmkII_reset32): "status possibly used uninitialized" - (I think GCC errs, too) - * buspirate.c: "pointers differ in signedness" (mismatch between - string processing and the use of "unsigned char" throughought the - AVRDUDE API) - -2010-01-01 Joerg Wunsch - - * jtagmkII.c (jtagmkII_smc_init32): replace sleep() by usleep() for - win32 compatibility. diff --git a/ChangeLog-2011 b/ChangeLog-2011 deleted file mode 100644 index d8fffba0..00000000 --- a/ChangeLog-2011 +++ /dev/null @@ -1,489 +0,0 @@ -2011-12-30 Rene Liebscher - - * avrdude.conf.in: Added is_at90s1200 option to part description - * doc/avrdude.texi: Added missing options to part definition - * config_gram.y: Fixed resetting of is_at90s1200 and is_avr32 flags - -2011-12-30 Rene Liebscher - - patch #7693: Fix config file atmel URLs - * avrdude.conf.in: Updated URLs - * avrpart.h: Updated URLs - * doc/avrdude.texi: Updated URLs - -2011-12-30 Joerg Wunsch - - * ser_posix.c (baud_lookup_table): Conditionalize the inclusion of - non-standard baud rates (only baud rates up to B38400 are - standardized by the Single UNIX Specification). - -2011-12-29 Rene Liebscher - - bug #34302: Feature request : device configuration with parent classes - * config_gram.y: Added part parent rule and allow overwriting existing - data at several places - * avrdude.conf.in: Added description comment and m328/m328p as example - * avrpart.c: avr_dup_mem-functions now copy buf and tags memory block - only they are already allocated. - * lexer.l: Added parent as valid token - - (not in original patch) - * avrpart.c: New function avr_dup_opcode. avr_dup_mem/avr_dup_part- - functions now duplicate the opcodes in their op-array to avoid memory leaks. - * doc/avrdude.texi: Added description of part parent feature - -2011-12-29 Rene Liebscher - - patch #7687: Autogenerating programmers and parts lists for docs - (generating the parts lists, programmers lists follows later) - * doc/Makefile.am: Add rule how to create avrdude before generating parts list - -2011-12-29 Rene Liebscher - - patch #7687: Autogenerating programmers and parts lists for docs - (generating the parts lists, programmers lists follows later) - * doc/avrdude.texi: Add include of generated table of parts - * doc/Makefile.am: Add generating of table of parts in parts.texi - * doc/parts_comments.txt: Adding file containing part commenz references - * avrdude.1: Remove table of parts and mention "-p ?" option - * avrpart.c: Use AVR_DESCLEN for strncasecmp at list sorting - -2011-12-22 Rene Liebscher - - * configure.ac: Add writing of definition of confsubst to config.status, - so it can run alone, not only called by configure. - -2011-12-17 Rene Liebscher - - patch #7680: Fixing timeout problem in ser_recv in ser_win32.c - * ser_win32.c: Return -1 at timeout in ser_recv(). - -2011-12-17 Rene Liebscher - - * config_gram.y: Fixed another memory leak, when define an operation - more than once - * avrdude.conf.in: Fixed double definition at ATmega6490 - -2011-12-17 Rene Liebscher - - * config_gram.y: Restructuring and compacting programmer definition - part of grammar (in preparation of patch #7688) - -2011-12-17 Rene Liebscher - - * avrdude.conf.in: Update documentation of programmer definition - * doc/avrdude.texi: Update documentation of programmer definition - and add list of implemented programmer types - -2011-12-17 Rene Liebscher - - patch #7667: Minor memory handling fixes - * config_gram.y: Added several free_token() calls. - -2011-12-16 Rene Liebscher - - patch #7671: Sorting programmers and parts lists for console output - * avrdude.conf.in: change part desc of several parts to common pattern - AT(mega|tiny|xmega)[0-9]+[A-Z]* (Upper case AT, lower case in middle) - * list.[ch]: added sorting function lsort() - * pgm.[ch]: added function sort_programmers() - * avrpart.[ch]: added function sort_avrparts() - * main.c: use sort functions in list_programmers() and list_parts() - * main.c: list functions show config file info only at verbose mode - -2011-10-19 Joerg Wunsch - - * configure.ac: Replace "cvs" in version number by "svn". - -2011-10-10 Joerg Wunsch - - bug #34518: loading intel hex files > 64k using record-type 4 - (Extended Linear Address Record) - fileio.c: Replace the change from r928 (handling of 0x8000000 - offset in AVR32 files) by a completely different logic that no - longer breaks hex files for other devices starting with an - offset; also apply a similar change to S-record files, as well - as when writing files. - fileio.c: (Ditto.) - -2011-09-15 Joerg Wunsch - - * avrftdi.c: Remove stray printf()s by fprintf(stderr) - * usbtiny.c: (Ditto.) - -2011-09-15 Joerg Wunsch - - * main.c: Restrict the cyclecounter readout to those cases where - it has been explicitly requested (by -y or -Y), rather than always - attempting to read the last EEPROM bytes. - -2011-09-15 Joerg Wunsch - - * stk500v2.c (stk600_xprog_paged_load, stk600_xprog_paged_write): - Fix regression in the AVRISPmkII/STK600 TPI handling introduced - by the USBasp's TPI implementation which added a pagesize even for - the minor memory regions of TPI devices. Also fix wrong offset - introduced by the memory tagging patch. - -2011-09-15 Joerg Wunsch - - * avr.c (avr_read, avr_write): Don't bail out on TPI parts if - their programmer doesn't provide a (low-level) cmd_tpi method; - instead, fall back to the normal programmer methods which are - supposed to handle the situation. - This fixes a regression where the recent bitbang-TPI implementation - broke TPI handling of STK600/AVRISPmkII. - -2011-09-14 Joerg Wunsch - - Mega-commit to bring in memory tagging. - Each memory image byte is now tagged as it's being read from a file. - Only bytes read from a file will be written or verified (modulo page - granularity requirements). - * avrpart.h: Add memory tags. - * avrpart.c: Allocate and initialize tag area. - * update.h: Drop unused parameter "verify" from do_op(). - * pgm.h: Add parameter base_addr to the paged_load and paged_write - methods, respectively. - * avr.h: New parameter to avr_read: second AVRPART to verify against. - * fileio.c: Track all memory regions that have been read from an - input file by tagging them. - * update.c: Call avr_read() with the new parameter list. - * main.c: Call avr_initmem() to initialize the memory regions, rather - than trying to duplicate an unitialized part, and then let the - original part rot away. - * avr.c: Implement the heart of the new featureset. For paged memory - areas, when writing or verifying, call the paged_write and paged_load - methods, respectively, once per page instead of on the entire memory. - When writing, only write bytes or pages that have content read from a - file. Whe verifying, only read memory bytes or pages where the - verification data have been read from a file. Only verify those bytes - that have been read from a file. - * avrftdi.c: Implement the new API for paged_load and paged_write, - respectively. - * jtagmkII.c: (Ditto.) - * butterfly.c: (Ditto.) - * jtagmkI.c: (Ditto.) - * avr910.c: (Ditto.) - * stk500.c: (Ditto.) - * usbasp.c: (Ditto.) - * stk500v2.c: (Ditto.) - * usbtiny.c: (Ditto.) - -2011-09-13 Joerg Wunsch - - * stk500v2.c (stk500v2_command): Treat warnings as errors rather than - success. - -2011-08-30 Joerg Wunsch - - bug #34027: avrdude AT90S1200 Problem (part 3 - documentation) - * avrdude.1: Document the programmer type restrictions for AT90S1200 - devices. - * doc/avrdude.texi: (Ditto.) - -2011-08-30 Joerg Wunsch - - bug #34027: avrdude AT90S1200 Problem (part 2 - stk500v2 and relatives) - * stk500v2.c (stk500v2_initialize): For the AT90S1200, release - /RESET for a moment before reinitializing, as this is required by - its programming protocol. - -2011-08-30 Joerg Wunsch - - * configure.ac: In AC_CHECK_LIB for libftdi, check for - ftdi_usb_get_strings() rathern than ftdi_init(), as this is a more - specific thing to search for in order to make sure getting a - recent enough libftdi. - -2011-08-29 Joerg Wunsch - - bug #34027: avrdude AT90S1200 Problem (part 1 - bitbang - programmers) - * config_gram.y: Introduce new keyword "is_at90s1200". - * lexer.l: (Ditto.) - * avrdude.conf.in: Applew new keyword to the AT90S1200 device. - * avrpart.h: Introduce new flag AVRPART_IS_AT90S1200, reflecting - the is_at90s1200 configuration keyword. - * bitbang.c (bitbang_initialize): Replace existing test for - AT90S1200 by AVRPART_IS_AT90S1200 - * avr.c (avr_write_byte_default): Avoid the pre-write reading for - the AT90S1200, as this appears to sometimes corrupt the high byte - by pre-programming the low byte just written into it. - -2011-08-27 Joerg Wunsch - - * configure.ac: Bump version for post-5.11. - -2011-08-27 Joerg Wunsch - - * configure.ac: Bump version for releasing AVRDUDE 5.11. - -2011-08-26 Joerg Wunsch - - * avrdude.1: Update the list of supported AVR devices. - * doc/avrdude.texi: (Ditto). - -2011-08-26 Joerg Wunsch - - * configure.ac: add -lusb as "other libraries" when checking - for libftdi. - -2011-08-26 Joerg Wunsch - - Submitted by Juergen Weigert: - patch #7056: adding support for mikrokopter bootloader to butterfly - * butterfly.c: Add some specific logic to handle the - mikrokopter.de butterfly bootloader. - * butterfly.h: Add one related function declaration. - * config_gram.y: Add butterfly_mk keyword. - * lexer.l: (Ditto.) - * avrdude.conf.in: Add entry for butterfly_mk. - -2011-08-26 Joerg Wunsch - - Submitted by Stefan Tomanek: - patch #7542: add default_bitclock to configuration files - * config.c: Add the new keyword and its handling. - * config.h: (Ditto.) - * config_gram.y: (Ditto.) - * avrdude.conf.in: (Ditto.) - * main.c: (Ditto.) - * lexer.l: (Ditto.) - * avrdude.1: Document the change. - * doc/avrdude.texi: (Ditto.) - -2011-08-26 Joerg Wunsch - - Submitted by Brett Hagman: - patch #7603: wiring - programmer type for Wiring boards - (based on STK500v2) - * wiring.c: New file. - * wiring.h: (Ditto.) - * Makefile.am: Add new files. - * stk500v2_private.h: Reorganize so some functions and struct - pdata are globally known. - * stk500v2.c: (Ditto.) - * stk500v2.h: (Ditto.) - * lexer.l: Add new programmer keywords. - * config_gram.y: (Ditto.) - * avrdude.conf.in: Add "wiring" programmer entry. - * avrdude.1: Document the new programmer. - * doc/avrdude.texi: (Ditto.) - * AUTHORS: Add Brett Hagman. - -2011-08-26 Joerg Wunsch - - Submitted by an anonymous contributor on the mailinglist: - * avrdude.conf (jtagkey): Add a definition for the Amontec - JTAGKey - -2011-08-26 Joerg Wunsch - - Submitted by Juergen Weigert: - bug #22720: avrdude-5.5 ignores buff settings in avrdude.conf - (Note that the actual bug the subject is about has been fixed - long ago.) - * update.c (do_op): fix a diagnostic message - * pgm.h: add exit_datahigh field - * par.c: set and act upon the exit_datahigh field - * avrdude.1: document the new -E options - * doc/avrdude.texi: (Ditto.) - -2011-08-26 Joerg Wunsch - - bug #33811: Parallel make fails - * Makefile.am (BUILT_SOURCES): Add this macro. - -2011-08-26 Joerg Wunsch - - bug #33114: Segfault after setting the DWEN fuse with Dragon - * jtagII.c (jtagmkII_getsync): Instead of exit()ing from - deep within the tree when detecting the "need debugWIRE" - situation, properly pass this up as a return code. - * jtagII_private.h (JTAGII_GETSYNC_FAIL_GRACEFUL): New constant. - * stk500v2.c (stk500v2_jtagmkII_open): Don't tell anything - anymore when receiving a JTAGII_GETSYNC_FAIL_GRACEFUL from - jtagmkII_getsync(); silently give up (all necessary has been - said already). - -2011-08-26 Joerg Wunsch - - Reported by Jason Hecker: - * usbasp.c (libusb_to_errno): Conditionalize some error codes - that apparently are lacking on MinGW. - -2011-08-25 Joerg Wunsch - - Fix warnings. - * ser_avrdoper.c: add so exit() is declared. - * usbtiny.c (usbtiny_open): provide an initializer to a - "may be used uninitialized" variable (since GCC could not - fully detect the logic behind). - -2011-08-25 Joerg Wunsch - - * configure.ac: Add a check for FreeBSD's libusb-1.0 - compatible library that is found in libusb.a/.so on - FreeBSD 8+. - -2011-08-25 Joerg Wunsch - - Submitted by Doug Springer, based on work by - Wolfgang Moser, Ville Voipio, Hannes Weisbach - patch #7486: Patch to add FT2232C/D, FT2232H, FT4232H, - usbvid, usbpid, usbdev for USB support - Based on #7062 - * avrftdi.c: New file. - * avrftdi.h: (Ditto.) - * configure.ac: Add check for libftdi. - * config_gram.y: Add AVRFTDI and per-programmer USB string - keywords. - * lexer.l: (Ditto.) - * avrdude.conf.in: Add avrftdi and 2232HIO programmers. - * pgm.h: Add USB parameters. - * Makefile.am: Add avrftdi.c and avrftdi.h. - * AUTHORS: Mention the new authors. - * avrdude.1: Document the changes. - * doc/avrdude.texi: (Ditto.) - -2011-08-23 Joerg Wunsch - - bug #29585: Fix license - * doc/avrdude.texi: Add FDL as an option to the licensing - statement, as the savannah administration would like it - that way. - -2011-08-23 Joerg Wunsch - - Submitted by Darell Tan: - patch #7244: TPI bitbang implementation - * bitbang.c: Add TPI bitbang stuff. - * bitbang.h: (Ditto.) - * avr.c: (Ditto.) - * avr.h: (Ditto.) - * pgm.c: (Ditto.) - * pgm.h: (Ditto.) - * serbb_posix.c: Wire bitbang_cmd_tpi into the struct pgm. - * serbb_win32.c: (Ditto.) - * par.c: (Ditto.) - * doc/avrdude.texi: Document the TPI bitbang support. - -2011-08-17 Joerg Wunsch - - Submitted by Grygoriy Fuchedzhy: - bug #31779: Add support for addressing usbtinyisp with -P option - * usbtiny.c (usbtiny_open): Add logic to distinguish multiple USBtinyISP - programmers by their bus:device tuple. - * doc/avrdude.texi: Document the new functionality. - * avrdude.1: (Ditto.) - -2011-08-16 Joerg Wunsch - - Submitted by Timon Van Overveldt: - bug #30268: Debugwire broken in avrdude-5.10 - * jtagmkII.c (jtagmkII_initialize): only try setting up a JTAG chain when - the programmer is using JTAG. - -2011-08-16 Joerg Wunsch - - bug #29636: AVRDude issues invalid CMD_CHECK_TARGET_CONNECTION - on the AVRISP-MKII - * stk500v2.c (stk500v2_program_enable): Rewrite the logic to - explain ISP activation failures. - * stk500v2_private.h: Fix the various STATUS_* constants; - AVR069 and AVR079 disagreed in their values, even though they - are apparently implementing the same logic behind. - -2011-08-16 Joerg Wunsch - - bug #29650: Programming timeouts in ATmega128RFA1 are too slow - * avrdude.conf.in (ATmega128RFA1): Bump write delay values for flash and - EEPROM to 50 ms. - -2011-08-16 Joerg Wunsch - - * avrdude.conf.in (ATmega8515, ATmega8535, ATmega48, ATmega88, ATmega88P, - ATtiny88, ATmega168, ATmega168P, ATmega328P): Bump delay value for STK500v2 - EEPROM write operation to 5, according to the respective XML files. - -2011-08-16 Joerg Wunsch - - Submitted by Darcy Houlahan: - bug #29694: error in avrdude.conf for attiny84 eeprom - * avrdude.conf.in (ATtiny84, ATtiny85): fix A7 bit in EEPROM write - command. - -2011-08-16 Joerg Wunsch - - Submitted by Durant Gilles: - * avrdude.conf.in (ATtiny4313): Fix flash addressing bits for manual ISP - algorithm. - -2011-08-16 Joerg Wunsch - - Submitted by Philip: - bug #31386: A "BUILD.svn" or similar "how to get started" doc would be helpful - * BUILD-FROM-SVN: New file. - -2011-08-15 Joerg Wunsch - - Submitted by Nic Jones: - bug #32539: [Documentation][Patch] Man page is misleading - re: Dragon & PDI - * doc/avrdude.texi: Update information about PDI connections - on AVR Dragon - -2011-08-12 Joerg Wunsch - - * usbasp.c: Add so this actually compiles - again. - -2011-08-12 Joerg Wunsch - - Contributed by tixiv@gmx.net: - bug #33345: File auto detection as binary doesn't open - file in binary mode on Windows - * fileio.c: Move the decision about opening files in - binary mode until before the fopen() call. - -2011-06-16 Thomas Fischl - - * avrdude.conf.in: Fix part id of ATtiny9. - -2011-05-28 Thomas Fischl - - Based on patch #7440 commited by Slawomir Fraś: - * usbasp.c: added TPI support for USBasp - * usbasp.h: (Ditto.) - -2011-05-11 Joerg Wunsch - - * avrdude.conf.in: Add support for ATmega168P. - -2011-05-11 Joerg Wunsch - - * avrdude.conf.in: Fix abbreviated name for ATmega324PA. - -2011-05-11 Joerg Wunsch - - Submitted by Lech Perczak: - bug #30946: Added support for ATmega8/16/32U2 - * avrdude.conf.in: Add ATmega8/16/32U2 entries. - -2011-05-11 Joerg Wunsch - - Submitted by David A Lyons: - patch #7393: Adding ATtiny4313 Device to avrdude.conf.in - * avrdude.conf.in: Add ATtiny4313 data. - -2011-05-11 Joerg Wunsch - - * usb_libusb.c: Bump timeout values to allow for slow clock - speeds. - * jtagmkII.c: (Ditto.) - -2011-03-04 Eric B. Weddington - - Thanks to Vitaly Chernookiy for the patch. - * avrdude.conf.in: Add support for atmega324pa. - * ChangeLog-2010: New file, rotate ChangeLog for new year. diff --git a/ChangeLog-2012 b/ChangeLog-2012 deleted file mode 100644 index bb5751a6..00000000 --- a/ChangeLog-2012 +++ /dev/null @@ -1,729 +0,0 @@ -2012-12-18 Joerg Wunsch - - * usbdefs.h (USBDEV_BULK_EP_WRITE_STK600) - (USBDEV_BULK_EP_READ_STK600): new define values - * stk500v2.c (stk600_open): use the STK600 EP values, - as they are different from AVRISPmkII - -2012-12-18 Joerg Wunsch - - bug #37942: Latest SVN can't program in dragon_jtag mode - * jtagmkII.c (jtagmkII_initialize): For Xmega devices, and - firmware >= 7.x, don't trigger a RESET, in order to work around a - firmware bug that appears to be present in at least firmware 7.24 - for the Dragon. - -2012-12-04 Joerg Wunsch - - * config_gram.y: Implement the "ocdrev" keyword - * avrpart.c: (Dito) - * avrpart.h: (Dito) - * lexer.l: (Dito) - * avrdude.conf.in: Add "ocdrev" key/value pairs, based - on the AS6 XML file information. - * jtag3.c: Use the ocdrev in the parameter block. - -2012-12-03 Joerg Wunsch - - * jtag3.c: Make jtag3_command() public - * jtag3.h: (Dito.) - * jtag3_private.h: Add two new commands - * stk500v2.c: Implement the "MonCon disable" hack that - allows temporarily falling back to ISP when trying to - talk to a part that has debugWIRE enabled - -2012-12-03 Rene Liebscher - - * pickit2.c: reordered #includes for non-usb configuration - -2012-12-03 Joerg Wunsch - - * jtag3.c: Enable interactive adjustment of the various - clock frequencies (JTAG Xmega, JTAG megaAVR, PDI Xmega) - through the set_sck_period() callback. - -2012-12-03 Joerg Wunsch - - * jtag3.c: Remove unused code that was left over from - cloning the jtagmkII.c implementation - -2012-12-03 Joerg Wunsch - - * pgm_type.c: Add "jtagice3_isp" programmer hook - * avrdude.conf.in: Add "jtag3isp" programmer - * jtag3.c: jtag3_setparm() is now public - * jtag3.h: (Dito) - * stk500v2_private.h: Command 0x1D is CMD_SPI_MULTI only - for STK500v2, AVRISPmkII, and JTAGICEmkII; for JTAGICE3, - it's CMD_SET_SCK now; also add CMD_GET_SCK - * avrpart.c (avr_get_output_index): New function - * avrpart.h: (Dito) - * stk500v2.c: Implement the pasthrough programmer glue logic - for JTAGICE3 in ISP mode - * stk500v2.h: (Dito) - * avrdude.1: Document the JTAGICE3 support. - -2012-11-30 Joerg Wunsch - - * jtag3.c (jtag3_read_byte, jtag3_write_byte): Remove the - m->offset from addr, JTAGICE3 doesn't need it anymore (similar - to JTAGICEmkII with 7+ firmware) - * jtag3.c (jtag3_read_byte): Allow for full-page reads of - EEPROM also for Xmega and debugWIRE, allow for signature - read in debugWIRE - -2012-11-30 Joerg Wunsch - - * jtag3_private.h: Add two more error detail codes I stumbled - across during development - * jtag3.c: (Dito.) - * usb_libusb.c: Reduce timeouts from 100 to 10 s, still long - enough, but not getting cold feet when something goes wrong. - -2012-11-29 Joerg Wunsch - - * jtag3.c: Handle events returned by the ICE - * usbdevs.h: Add defines that mark an event in return - from usb_recv_frame(). - * usb_libusb.c: (Dito.) - -2012-11-29 Joerg Wunsch - - * avrdude.conf.in: Remove "has_jtag" from Xmega A4 and D4 - devices, as they only have PDI. - * jtag3.c (jtag3_page_erase): Actually implement this. - -2012-11-29 Joerg Wunsch - - bug #37265: wrong page sizes for XMega64xx in avrdude.conf - * avrdude.conf.in: Fix page sizes for all Xmega devices, - by cross-checking against Atmel Studio's device XML files - -2012-11-29 Joerg Wunsch - - * jtag3.c: Fill in the missing pieces for Xmega support (both, - PDI and JTAG). - * jtagmkII.c (jtagmkII_set_xmega_params): Use "fuse1" rather - than "fuse0" memory space to fill in the NVM offset from, as - there is no "fuse0" on some Xmega devices. - -2012-11-29 Joerg Wunsch - - * avrdude.conf.in (ATmega256RFR2, ATmega128RFR2, ATmega64RFR2): - New devices - -2012-11-28 Joerg Wunsch - - First support for Atmel JTAGICE3. Guessed from USB sniffer - traces made by Knut Schwichtenberg, and by similarity to - JTAGICEmkII. - Still quite incomplete, just megaAVR/JTAG is done by now. - * jtag3.c: New file. - * jtag3.h: (Dito.) - * jtag3_private.h: (Dito.) - * pgm_type.c: Add new programmers - * avrdude.conf.in: (Dito.) - * usbdevs.h: Add new parameters - * Makefile.am: Add new files - * usb_libusb.c: Handle separate event endpoint, and larger - (USB 2.0) packet sizes - -2012-11-26 Joerg Wunsch - - * jtagmkII.c: Change all the USB details (endpoint numbers, - max transfer size etc.) to a per-programmer adjustable value. - * serial.h: (Dito.) - * stk500v2.c: (Dito.) - * usbdevs.h: (Dito.) - * usb_libusb.c: (Dito.) - -2012-11-20 Joerg Wunsch - - * buspirate.c: Replace outdated FSF postal address by a reference to - the GPL info on their website. - * jtagmkII.c: (Dito.) - * avrftdi.c: (Dito.) - * wiring.c: (Dito.) - * linux_ppdev.h: (Dito.) - * serbb.h: (Dito.) - * usbtiny.h: (Dito.) - * confwin.c: (Dito.) - * buspirate.h: (Dito.) - * avrftdi.h: (Dito.) - * wiring.h: (Dito.) - * jtagmkII.h: (Dito.) - * pickit2.c: (Dito.) - * config.c: (Dito.) - * term.c: (Dito.) - * confwin.h: (Dito.) - * avrdude.1: (Dito.) - * windows/Makefile.am: (Dito.) - * config.h: (Dito.) - * pickit2.h: (Dito.) - * term.h: (Dito.) - * tools/get-hv-params.xsl: (Dito.) - * tools/get-stk600-cards.xsl: (Dito.) - * tools/get-stk600-devices.xsl: (Dito.) - * tools/get-dw-params.xsl: (Dito.) - * butterfly.c: (Dito.) - * configure.ac: (Dito.) - * doc/Makefile.am: (Dito.) - * pgm_type.c: (Dito.) - * butterfly.h: (Dito.) - * jtagmkI.c: (Dito.) - * ft245r.c: (Dito.) - * COPYING: (Dito.) - * pgm_type.h: (Dito.) - * jtagmkI.h: (Dito.) - * pindefs.h: (Dito.) - * config_gram.y: (Dito.) - * arduino.c: (Dito.) - * arduino.h: (Dito.) - * ser_win32.c: (Dito.) - * serbb_win32.c: (Dito.) - * avr910.c: (Dito.) - * stk500.c: (Dito.) - * freebsd_ppi.h: (Dito.) - * avr910.h: (Dito.) - * solaris_ecpp.h: (Dito.) - * stk500.h: (Dito.) - * jtagmkII_private.h: (Dito.) - * avrdude.h: (Dito.) - * bitbang.c: (Dito.) - * bitbang.h: (Dito.) - * avrpart.c: (Dito.) - * safemode.c: (Dito.) - * stk500generic.c: (Dito.) - * serial.h: (Dito.) - * avrpart.h: (Dito.) - * jtagmkI_private.h: (Dito.) - * ppi.c: (Dito.) - * avr.c: (Dito.) - * safemode.h: (Dito.) - * stk500generic.h: (Dito.) - * ser_avrdoper.c: (Dito.) - * avr.h: (Dito.) - * ppi.h: (Dito.) - * usbasp.c: (Dito.) - * lists.c: (Dito.) - * stk500v2.c: (Dito.) - * my_ddk_hidsdi.h: (Dito.) - * tpi.h: (Dito.) - * usbasp.h: (Dito.) - * lists.h: (Dito.) - * stk500v2.h: (Dito.) - * ppiwin.c: (Dito.) - * fileio.c: (Dito.) - * ser_posix.c: (Dito.) - * fileio.h: (Dito.) - * serbb_posix.c: (Dito.) - * usbdevs.h: (Dito.) - * par.c: (Dito.) - * update.c: (Dito.) - * pgm.c: (Dito.) - * main.c: (Dito.) - * par.h: (Dito.) - * update.h: (Dito.) - * lexer.l: (Dito.) - * Makefile.am: (Dito.) - * pgm.h: (Dito.) - * usb_libusb.c: (Dito.) - * usbtiny.c: (Dito.) - -2012-11-13 Rene Liebscher - - bug #35186 inverting pins with "~" doesn't work for pin lists (i.e. vcc) - bug #37727 Add support for LM3S811 dev board as a programmer - * lexer.l,config_gram.y: accepting inverted pins at pin lists - syntax: ~num or ~(num,num,...) - * par.c: par_set_many_bits is now usable with inverted pins - * avrftdi.c: fixed wrong index in ftdi_pin_name - * avrdude.conf.in: added programmer lm3s811 - -2012-11-04 Rene Liebscher - - * lexer.l,config_gram.y,config.[hc]: changed reading of numbers to integers - except of default_bitclock which is the only real number. - No signs are allowed as negative values do not make sense for current - config values. - * buspirate.c: include own header file buspirate.h - * doc/.cvsignore: add programmers.texi to ignore list - -2012-09-06 Joerg Wunsch - - * doc/Makefile.am: add EXTRA_DIST, replace $(srcdir) by - $(builddir) for generated files, so "make distcheck" - works again - -2012-09-05 Rene Liebscher - - * doc/Makefile.am: add $(srcdir) to name of generated files, so BSD make - find the files ( GNU make sees no difference if the - file is called version.texi or ./version.texi ) - -2012-08-15 Rene Liebscher - - patch #7184 Support for PICKit2 programmer - * Makefile.am: add pickit2 files - * pickit2.[ch]: new programmer implementation - * pgm_type.c: add pickit to list - * avrdude.1: documentation for pickit2 - * doc/avrdude.texi: documentation for pickit2 - * avrdude.conf.in: add pickit2 programmer entry - -2012-08-15 Rene Liebscher - - bug #30559 Ft232 bit-bang support, see comment #30 - * ft245r.c: added semaphore workaround for MacOS X, - added pthread_testcancel in reader thread - - * configure.ac: added check for TYPE_232H in libftdi (not in libftdi < 0.20) - * avrftdi.c: do not use TYPE_232H if not declared - -2012-08-13 Hannes Weisbach - - * avrftdi.c: fixes pin_limit for different FTDI devices (there was a mixup - between 2232C and 2232H) - -2012-07-29 Hannes Weisbach - - * avrftdi.c: bugfixes (synchronisation) and maintenance (paged programming, - nicer output, separation of parameter checking and actual code) - -2012-07-25 Joerg Wunsch - - * jtagmkII.c (jtagmkII_memtype): return MTYPE_FLASH rather than - MTYPE_SPM for non-Xmega flash regions - -2012-07-20 Hannes Weisbach - - * avrpart.c, avrpart.h: adds avr_pin_name() - -2012-07-18 Joerg Wunsch - - * configure.ac: check for libelf.h also in libelf/ - * fileio.c: include if configure found this - to be the case - -2012-06-13 Rene Liebscher - - * configure.ac: Check for presence of - * ft245r.c: Depend on HAVE_PTHREAD_H - * Makefile.am: Add -lpthread if needed. - -2012-06-07 Joerg Wunsch - - * usbtiny.c (usbtiny_paged_load, usbtiny_paged_write): - fix breakage introduced by the recent page handling reorg; - it used to cause an infinite loop - -2012-05-04 Joerg Wunsch - - Xmega page erase implementation for XPROG (AVRISPmkII, STK600) - * stk500v2.c (stk600_xprog_page_erase): New function. - -2012-05-04 Joerg Wunsch - - Xmega page erase implementation for JTAGICEmkII - * jtagmkII.c: Handle flash pages sizes > 256 bytes, implement - page_erase() method - * avrdude.conf.in: Change flash pagesize for all Xmega devices - to 512 bytes - * avr.c: Implement auto_erase, using page_erase if available - * avr.h: Remove unused parameters from avr_read(), replace - unused parameter in avr_write)() by auto_erase - * stk500v2.c: Handle flash page sizes > 256 bytes - * update.c (do_op): Handle new updateflags parameter - * main.c: Implement auto_erase as page_erase if possible - * update.h (enum updateflags): New enum - * pgm.h (struct programmer_t): Add page_erase method - -2012-04-26 Joerg Wunsch - - * jtagmkII.c (jtagmkII_paged_load, jtagmkII_paged_write): fix bug - in memory type calculation for Xmega "boot" memory region. - -2012-04-25 Joerg Wunsch - - * update.c (parse_op): do not assume default memtype here - * main.c: after locating the part information, determine default - memtype for all update options that didn't have a memtype - specified; this is "application" for Xmega parts, and "flash" for - everything else. - -2012-04-24 Joerg Wunsch - - * fileio.c: Rework the way ELF file sections are considered: while - scanning the program header table, the offsets from a program - header entry must never be used directly when checking the bounds - of the current AVR memory region. Instead, they must always be - checked based on the corresponding section's entry. That way, - Xmega devices now properly take into account whether the segment - fits into any of the application/apptable/boot memory region. - -2012-04-20 Joerg Wunsch - - bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't - read device signature - * main.c: When reading the signature yields 0x000000 or 0xffffff, - retry (up to twice) after some progressive delay. - -2012-04-20 Joerg Wunsch - - * avrdude.conf.in (ATxmega16D4, ATxmega32D4, ATxmega64D4, - ATxmega128D4): New devices. As Xmega D doesn't feature a fuse0 - memory cell, move that one out from the generic .xmega part into - the individual Xmega A parts. - -2012-04-19 Joerg Wunsch - - bug #29019: pagel/bs2 warning when uploading using stk500 to xmega - * stk500.c (stk500_initialize): Insert dummy values for PAGEL and - BS2 if they are not present in the config file, in order to be able - to proceed with the stk500_set_extended_parms() anyway. - -2012-04-19 Joerg Wunsch - - * stk500v2_private.h (struct pdata): add boot_start - * stk500v2.c: For the "flash" pseudo-memory of Xmega devices, - distinguish addresses between "application" and "boot" area. - -2012-04-18 Joerg Wunsch - - * fileio.c (elf2b): When checking the bounds of the current - program header segment, subtract `low' from ph[n].p_paddr in order - to correct the magic section offsets for the AVR's non-flash - memory regions. - -2012-04-18 Joerg Wunsch - - * fileio.c (elf_get_scn): Rather than trying to just match whether - any given section maps straight to a program header segment, use a - more sophisticated decision that matches any section as long as it - fits into the segment. This is needed for situations where the - program header segment spans a larger area than the section data - provided. (This can e.g. happen in an ELF file that contains no - data at address 0, like a bootloader only.) - -2012-04-13 Joerg Wunsch - - bug #28744: Can't load bootloader to xmega128a1 (part 2, fix for - firmware >= V7.x) - * jtagmkII.c: Add firmware-version dependent handling of Xmega parameters. - V7.x firmware expects the NVM offsets being specified through the Xmega - parameters command, but left out as part of the memory address itself. - * jtagmkII_private.h: Add CMND_SET_XMEGA_PARAMS, and struct xmega_device_desc. - * config_gram.y: Add mcu_base keyword. - * avrpart.h: (Dito.) - * lexer.l: (Dito.) - * avrdude.conf.in (.xmega): add mcu_base, and data memory segment. - -2012-03-30 Joerg Wunsch - - bug #28744: Can't load bootloader to xmega128a1 (part 1, fix for - firmware < V7.x) - * jtagmkII.c: When going to write to the boot section of flash, - use MTYPE_BOOT_FLASH rather than MTYPE_FLASH - * jtagmkII_private.h: add MTYPE_BOOT_FLASH constant - -2012-03-30 Joerg Wunsch - - * jtagmkII_private.h: Sort commands, response codes and events - into numerical order. - -2012-03-29 Joerg Wunsch - - bug #30451: Accessing some Xmega memory sections gives not - supported error - * stk500v2.c: Handle all Xmega memory sections (except - "prodsig" which is not documented in AVR079) - * fileio.c: Treat the "boot", "application", and "apptable" - regions (which are actually subregions of "flash") all as - being flash, i.e. suppress trailing 0xFF bytes when reading - them - * avr.c: (Dito.) - -2012-03-20 Joerg Wunsch - - * jtagmkII.c (jtagmkII_close): The GO command before signing off - turned out to be not required for normal megaAVR devices, and to - cause the exact opposite (i.e. the target stopping) on Xmega - devices being programmed to JTAG. However, programming Xmega - devcies through PDI *does* need the GO command. - -2012-03-20 Joerg Wunsch - - * configure.ac: Print a configuration summary at the end of the - configure run - -2012-02-11 Rene Liebscher - - patch #7718: Merge global data of avrftdi in a private data structure - * avrftdi.[ch]: moved global data into private data structure, moved - private defines from header file into source file - -2012-02-06 Rene Liebscher - - patch #7720 Bug in EEPROM write - * avrftdi.c: fixed wrong buffer address initialization in paged_write - * fileio.c: added #include - -2012-02-05 Rene Liebscher - - bug #30559 Ft232 bit-bang support - * ft245r.c: cancel reader thread before exiting program - -2012-02-04 Rene Liebscher - - patch #7717 avrftdi_flash_write is broken - * avrftdi.c: fixed wrong buffer address initialization in paged_write - bug #35296 Extraneous newlines in output. - * main.c: fixed output of newlines at 100% progress - -2012-02-03 Rene Liebscher - - patch #7715 FT4232H support - * avrdude.conf.in: added programmer 4232h - -2012-02-03 Rene Liebscher - - patch #7687: Autogenerating programmers and parts lists for docs - (generating the programmers lists) - * doc/avrdude.texi: Add include of generated table of programmers - * doc/Makefile.am: Add generating of table of programmers in programmers.texi - -2012-02-03 Rene Liebscher - - bug #34768 Proposition: Change the name of the AVR32 devices - * avrdude.conf.in: renamed ucr2 to uc3a0512 - * avrpart.c: added cast to avoid compiler warning - -2012-02-03 Joerg Wunsch - - * fileio.c (fileio_elf): Fix a copy'n-paste-o. - -2012-02-03 Joerg Wunsch - - * par.c (par_desc): Move to end of file, outside the #if - HAVE_PARPORT - -2012-02-02 Joerg Wunsch - - Implement ELF file reading (finally). Requires libelf(3) to be - present on the host system. - * configure.ac (HAVE_LIBELF): Add logic to detect presence of - libelf(3) - * Makefile.am (avrdude_LDADD): Add @LIBELF@ - * fileio.h (FILEFMT): add FMT_ELF - * fileio.c: Implement ELF file reader. - * update.c (parse_op): add 'e' format specifier - * avrdude.1: Document the ELF file reading capability - * doc/avrdude.texi: (Dito.) - -2012-02-01 Rene Liebscher - - bug #30559 Ft232 bit-bang support - * ft245r.[ch]: new programmer type implementation - * configure.ac: add pthread as link library - * avrdude.conf.in: added some new programmers - * Makefile.am: added new source files to compile - * pindefs.h: change PIN_MASK, PIN_INVERSE to highest bit of unsigned int - * pgm.[ch]: added generic function to print pin assignments (taken from par.c) - * par.c: moved pin assigment print function to pgm.c - -2012-02-01 Joerg Wunsch - - * lexer.l: Sort keyword tokens into alphabetic order. - -2012-01-31 Rene Liebscher - - * config_gram.y, lexer.l: removed unused ID/TKN_ID definitions - * config.[hc]: removed unused function id(), use value.type to select - values - -2012-01-31 Rene Liebscher - - patch #7437 modifications to Bus Pirate module - patch #7686 Updating buspirate ascii mode to current firmware, use AUX - as clock generator, and setting of serial receive timeout - * buspirate.c: added paged_write, changed binary mode setup/detection, - added clock output on AUX pin - * avrdude.1: updated documentation - * doc/avrdude.texi: updated documentation - -2012-01-31 Rene Liebscher - - Parser does not need to know all programmer types now, new programmers - will update only the table in pgm_type.c. - * config_gram.y, lexer.l: removed programmer type keywords, - use now locate_programmer_type() function - * pgm_type.[ch]: added new files for table of programmer types - * main.c: allow list of programmer types by -c ?type - * avrdude.conf.in: changed all type keywords to quoted strings - * doc/avrdude.texi: changed description of type definition, list - of valid types is now included from generated file - * doc/Makefile.am: generate list of programmer types for doc - * all programmers [hc]: add xxx_desc string for description of programmer - -2012-01-30 Rene Liebscher - - * configure.ac: fixed detection of yylex_destroy availability - by checking the version number of flex; bump required autoconf - version to 2.60 (for AC_PROG_SED) - -2012-01-30 Joerg Wunsch - - * lexer.l: Replace the old, now-defunct #define YY_NO_UNPUT by - the new %option nounput. This gets rid of a compiler warning. - -2012-01-30 Joerg Wunsch - - Add a connection_type attribute to each programmer, rather than - trying to hard-code the default port name in main.c. - * pgm.h: Add conntype to struct pgm. - * lexer.l: Extend grammar for connection_type. - * config_gram.y: (Dito.) - * config.h: Add DEFAULT_USB, for symmetry with default_parallel - and default_serial. - * main.c: Replace old default portname hack by avrdude.conf-based - knowledge. - * usbtiny.c: Drop an old hack that's no longer necessary. - * avrdude.conf.in: Add connection_type to each programmer - definition. - -2012-01-27 Rene Liebscher - - * avrdude.conf.in: used parent parts for some other parts, added - abstract .xmega part as parent for xmegas - * main.c: hide parts starting with '.' from parts list - -2012-01-22 Rene Liebscher - - patch #7688: Implement parent programmers feature - * avrdude.conf.in: updated documentation comment and some programmers - have now parents - * config_gram.y: initpgm will now called at first use of programmer - in main. parser sets only the function pointer in the pgm structure. - Pin and pin lists definitions can now be empty to remove the parents - setting. - * doc/avrdude.texi: updated documentation - * main.c: added call to pgm->initpgm after locate_programmer - * pgm.[hc]: added field initpgm in structure, added function pgm_dup - -2012-01-21 Rene Liebscher - - bug #21797: AT90PWM316: New part description - * avrdude.conf.in: added pwm316 with parent pwm3b but 16KB flash - -2012-01-20 Joerg Wunsch - - * configure.ac: Check for presence of lusb_usb.h as an alternative - to usb.h; libusb-win32 switched to this name in version 1.2.5.0. - * avrftdi.c: Decide whether to include , or . - * ser_avrdoper.c: (Dito.) - * usbasp.c: (Dito.) - * usb_libusb.c: (Dito.) - * usbtiny.c: (Dito.) - -2012-01-19 Rene Liebscher - - * avr.c: Unsigned variable was used for return code of paged_write/load - functions. So a negative return code led never to a fallback to byte - functions. - -2012-01-17 Rene Liebscher - - bug #34302: Feature request : device configuration with parent classes - * config_gram.y: if memory section is overwritten old entry is removed - - (not in original patch) - * config_gram.y: if programmer or part is defined twice, a warning is - output and the first instance is removed - - General cleanup and free functions, so valgrind does not report any lost - blocks at program end. - * avrpart.[hc]: added avr_free_(opcode|mem|part) functions - * pgm.[hc]: added pgm_free function - * update.[hc]: added free_update functions - * config.[hc]: added cleanup_config function, use yylex_destroy to reset - the lexer after usage. (So it can be reused.) - * main.c: add cleanup_main function which is called by atexit() (This - frees all lists so that at program exit only really lost memory is - reported by valgrind.) - * usbasp.c: added libusb_free_device_list() and libusb_exit() calls to - avoid lost memory - * buspirate.c: moved memory allocation from initpgm to setup and added - free in teardown - * configure.ac: add definition of HAVE_YYLEX_DESTROY if $LEX is flex. - * Makefile.am: added . in front of SUBDIRS to build avrdude before trying - to use it for creating the part list for the docs. - -2012-01-17 Rene Liebscher - - * usbasp.c: USB vid/pid/vendor/product from config file are used, for - id "usbasp" nibobee and old usbasp are tried as they were currently - implemented within usbasp - * avrdude.conf.in: added usb params to "usbasp", added new entry "nibobee" - with params which were hardcoded in usbasp.c, and added an entry - "usbasb-clone" which only checks vid/pid. - -2012-01-10 Rene Liebscher - - bug #35261 avrftdi uses wrong interface in avrftdi_paged_(write|load) - * avrftdi.c: Fixed interface and implementation of avrftdi_paged_(write|load) - patch #7672 adding support for O-Link (FTDI based JTAG) as programmer - * avrdude.conf.in: added o-link entry - -2012-01-10 Rene Liebscher - - patch #7699 Read additional config files - * main.c: Added reading of additional config files - * avrdude.1: updated man page - * doc/avrdude.texi: updated documentation - -2012-01-10 Joerg Wunsch - - Submitted by Bob Frazier: - bug #35208: avrdude 5.11 on freebsd 8.2-STABLE does not reset - Arduino Uno properly - * arduino.c (arduino_open): Bump the timeout between pulling - the DTR and RTS lines low and high. - -2012-01-08 Rene Liebscher - - Fixed following findings reported by cppcheck - * avr910.c:625 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 - * avr910.c:626 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 - * avr910.c:168 (information) The scope of the variable 'devtype_1st' can be reduced - * avr910.c:169 (information) The scope of the variable 'dev_supported' can be reduced - * avrftdi.c:647 (error) Using sizeof for array given as function argument returns the size of pointer. - * stk500v2.c:3347 (error) Memory leak: b - * stk500v2.c:3452 (error) Memory leak: b - * usbasp.c:554 (error) Using sizeof for array given as function argument returns the size of pointer. - * usbasp.c:485 (information) The scope of the variable 'dly' can be reduced - -2012-01-03 Joerg Wunsch - - Reported by Jason Kotzin: - * usbasp.c (usbasp_spi_paged_load, usbasp_spi_paged_write): - Fix buffer address calculation. - -2012-01-03 Rene Liebscher - - patch #7629 add support for atmega48p - * avrdude.conf.in: Added m48p with parent m48 + different signature - - * avrdude.conf.in: made part parents (m88p = m88 + different signature, - m168p = m168 + different signature) - -2012-01-02 Rene Liebscher - - bug #21663 AT90PWM efuse incorrect - bug #30438 efuse bits written as 0 on at90pwmxx parts - * avrdude.conf.in: (pwm2, pwm2b, pwm3, pwm3b) : Write - eight bits - - * avrdude.conf.in: made part parents (pwm3 = pwm2, pwm3b = pwm2b, - pwm2b = pwm2 + different signature) - - * ChangeLog-2011: New file, rotate ChangeLog for new year. diff --git a/ChangeLog-2013 b/ChangeLog-2013 deleted file mode 100644 index 8e975ef6..00000000 --- a/ChangeLog-2013 +++ /dev/null @@ -1,618 +0,0 @@ -2013-12-15 Nils Springob - - * pgm.c/pgm.h: fixed syntax error in const pointer to const - -2013-12-05 Joerg Wunsch - - * configure.ac: bump version to 6.1-svn-20131205 - -2013-12-05 Joerg Wunsch - - bug #40817: Elf file support (possibly) not working on 6.0.1 windows build - * fileio.c (fileio): open file in binary mode also for FMT_ELF - -2013-12-04 Rene Liebscher - - Rework of bitbanging functions setpin, getpin, highpulsepin to make simplier use - of new pindefs data in pgm structure - * linuxgpio.c, bitbang.c, buspirate.c, par.c, pgm.h, term.c, serbb_*.c: changed - interface of setpin, getpin, highpulsepin to take pin function as parameter - (not the real number, which can be found by pgm->pinno[function]) - -2013-11-30 Rene Liebscher - - bug #40748 linuxgpio doesn't work on Raspberry PI rev. 2. - * linuxgpio.c: fixed check for unused pins to ignore the inverse flag - * pindefs.c: fixed fill_old_pinlist to not create an empty mask with inverse flag set - -2013-10-18 Nils Springob - - * avrdude.conf.in (atmega1284): ATmega1284 variant added (same as ATmega1284p but with different signature) - -2013-09-25 Hannes Weisbach - - First part of patch #7720: - * avrdude.conf.in: Add UM232H and C232H programmers - -2013-09-22 Joerg Wunsch - - Submitted by Daniel Rozsnyo: - bug #40085: Typo fix in fuses report (for 6.1-svn-20130917) - * main.c: Fix a typo. - -2013-09-19 Hannes Weisbach - - task #12798: Please cleanup #ifdef notyet entries in avrftdi.c - * avrftdi.c: ditto. - avrftdi.c: Remove DRYRUN-option. - -2013-09-17 Joerg Wunsch - - bug #40055: AVRDUDE segfaults when writing eeprom - * main.c: Always clear the UF_AUTO_ERASE flag if either a - non-Xmega device was found, or the programmer does not offer a - page_erase method. - -2013-09-17 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to post-6.0. - -2013-09-17 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 6.0. - -2013-09-17 Joerg Wunsch - - * jtag3.c (jtag3_initialize): Fix a buffer overflow by limiting - the flash page cache size to at most "readsize". For Xmegas with - a page size of 512 bytes, the maximum USB packet size was - overflowed, and subsequently, a memmove copied beyond the end of - the allocated buffer. - * jtag3.c (jtag3_read_byte): Add the correct offset also for the - various flash regions, so reading the apptable or boot regions - yields the correct data. - -2013-09-16 Joerg Wunsch - - Submitted by Joakim Lubeck: - bug #40040: Support for ATtiny20 and ATtiny40 - * avrdude.conf.in: Restructure the reduced-core tiny devices - to use a common entry .reduced_core_tiny; add ATtiny20 and - ATtiny40 - -2013-09-15 Joerg Wunsch - - Submitted by Joakim Lubeck: - bug #40033: Support for the XMegaE5 family - * avrdude.conf.in (ATxmega8E5, ATxmega16E5, ATxmega32E5): New - entries. - -2013-09-13 Joerg Wunsch - - * stk500v2.c (stk500v2_set_sck_period): Revamp this to match the - description/pseudo-code in appnote AVR068. - -2013-09-13 Joerg Wunsch - - Submitted by Stephen Roe: - patch #7710: usb_libusb: Check VID/PID before opening device - * usb_libusb.c (usbdev_open): Swap the sequence of verifying the - VID:PID, and opening the device. - -2013-09-13 Joerg Wunsch - - patch #8176: butterfly.c (AVR109 protocol implementation) clean-up and bug-fixing - * butterfly.c (butterfly_page_erase): Add dummy function to avoid - segfault when writing to EEPROM. - -2013-09-13 Joerg Wunsch - - bug #35474 Feature request: print fuse values in safemode output - * config_gram.y: New configuration token "default_safemode". - * lexer.l: (Dito.) - * avrdude.conf.in: (Dito.) - * config.h: Add variable default_safemode. - * config.c: (Dito.) - * main.c: Handle default_safemode, including -u option. - * avrdude.1: Document all this. - * doc/avrdude.texi: (Dito.) - -2013-09-13 Joerg Wunsch - - Submitted by HubertB: - patch #7657 Add ATmega406 support for avrdude using DRAGON + JTAG - * avrdude.conf.in (ATmega406): New entry. - -2013-09-13 Joerg Wunsch - - Submitted by Marc de Hoop: - patch #7606 ATtiny43u support - * avrdude.conf.in (ATtiny43U): New entry. - -2013-09-13 Joerg Wunsch - - patch #5708 avrdude should make 10 synchronization attempts instead of just one - * stk500.c (stk500_getsync): Loop 10 times trying to get in - sync with the programmer. - -2013-09-13 Joerg Wunsch - - Contributed by Ricardo Martins: - bug #36384 ATxmega32A4 usersig size - * avrdude.conf.in: Revamp all the ATxmega* entries. Add new - entries for ATxmega128A1U, ATxmega128A3U, ATxmega128A4U, - ATxmega128B1, ATxmega128B3, ATxmega128C3, ATxmega128D3, - ATxmega16A4U, ATxmega16C4, ATxmega192A3U, ATxmega192C3, - ATxmega192D3, ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, - ATxmega256D3, ATxmega32A4U, ATxmega32C4, ATxmega384C3, - ATxmega384D3, ATxmega64A1U, ATxmega64A3U, ATxmega64A4U, - ATxmega64B1, ATxmega64B3, ATxmega64C3, ATxmega64D3 - -2013-09-13 Joerg Wunsch - - bug #35456 The progress bar for STK500V2 programmer is "wrong". - * avr.c (avr_read, avr_write): Change the progress reporting for - paged read/write from per-address to per-considered-page. This - ought to give a realistic estimation about the time still to be - spent. - -2013-09-13 Joerg Wunsch - - bug #34277: avrdude reads wrong byte order if using avr911 (aka butterfly) - * butterfly.c (butterfly_read_byte_flash): Swap bytes received. - -2013-09-12 Joerg Wunsch - - bug #37768 Poll usbtiny 100 times at init time to handle low-clock devices - * doc/avrdude.texi: Add a FAQ entry about how to connect to a - target where the firmware has reduced the internal clock speed. - -2013-09-11 Joerg Wunsch - - bug #28344 chip_erase_delay too short for ATmega324P, 644, 644P, and 1284P - * avrdude.conf: Bump the chip_erase_delay for all ATmega*4 devices - to 55 ms. While the datasheet still claims 9 ms, all the XML files - tell either 45 or 55 ms, depending on STK600 or not. - -2013-09-11 Joerg Wunsch - - * fileio.c (fileio): Don't exit(1) if something goes wrong; return - -1 instead. Don't refer to obsolete option -f to specify the file - format. - -2013-09-10 Joerg Wunsch - - Submitted by Matthias Trute: - bug #36901 flashing Atmega32U4 EEPROM produces garbage on chip - * avrdude.conf.in (ATmega32U4): Fix EEPROM pagesize to 4, the - datasheet is wrong here. - -2013-09-09 Joerg Wunsch - - * configure.ac: check for ar and ranlib in the target tool - namespace, rather than on the host. - -2013-09-08 Joerg Wunsch - - Fix byte-wise EEPROM and flash writes on Xmega - * jtagmkII_private.h (MTYPE_EEPROM_XMEGA): New memory type. - * jtagmkII.c (jtagmkII_write_byte): For Xmega EEPROM, use - memory type MTYPE_EEPROM_XMEGA; for flash writes, always - write 2 bytes starting on an even address. - -2013-09-08 Joerg Wunsch - - * term.c: Implement the "verbose" terminal mode command. - * avrdude.1: Document this. - * doc/avrdude.texi: (Dito.) - -2013-09-07 Joerg Wunsch - - * jtag3.c (jtag3_write_byte): Do not attempt to start the paged - algorithm for EEPROM when being connected through debugWIRE. - -2013-09-06 Joerg Wunsch - - Extend the single-byte algorithm to all devices, both flash and - EEPROM. (Flash cells must have been erased before though.) - * jtag3.c (jtag3_initialize): OCDEN no longer needs to be - considered; a session with "programming" purpose is sufficient - * jtag3.c (jtag3_write_byte): Use the paged algorithm for all - flash and EEPROM areas, not just Xmega. - -2013-09-05 Joerg Wunsch - - Fix single-byte EEPROM updates on Xmega: - * jtag3_private.h (MTYPE_EEPROM_XMEGA): New define. - * jtag3.c (jtag3_write_byte): When updating flash or - EEPROM on Xmega devices, resort to jtag3_paged_write() - after filling and modifying the page cache. - * jtag3.c (jtag3_paged_write): use MTYPE_EEPROM_XMEGA - where appropriate. - * jtag3.c (jtag3_initialize): Open with debugging intent - for Xmega devices, so single-byte EEPROM updates will - work. - -2013-09-04 Joerg Wunsch - - Submitted by Matthias Neeracher: - bug #38732: Support for ATtiny1634 - * avrdude.conf.in (ATtiny1634): New entry. - -2013-09-03 Joerg Wunsch - - Submitted by Brane Ždralo: - patch #7769: Write flash fails for AVR910 programmers - * avr910.c (avr910_paged_write): Fix flash addresses in - 'A' command. - -2013-09-03 Joerg Wunsch - - Submitted by Fred (magister): - bug #38951: AVR109 use byte offset instead of word offset - patch #8045: AVR109 butterfly failing - * butterfly.c (butterfly_paged_load, butterfly_paged_write): - fix calculation of 'A' address when operating on flash memory. - It must be given in terms of 16-bit words rather than bytes. - -2013-09-03 Rene Liebscher - - * avrftdi.c, avrftdi_private.h: added tx buffer size, and use - smaller block sizes as larger sometimes hang - -2013-09-03 Joerg Wunsch - - * avrdude.h: Remove the erase cycle counter (options -y / -Y). - * avr.c: (Dito.) - * main.c: (Dito.) - * avrdude.1: Undocument -y / -Y. - * doc/avrdude.texi: (Dito.) - -2013-09-03 Joerg Wunsch - - bug #39691 Buffer overrun when reading EEPROM byte with JTAGICE3 - * jtag3.c (jtag3_initialize): initialize the eeprom_pagesize - private attribute so the page cache will actually be usable - -2013-09-03 Joerg Wunsch - - bug #38580 Current svn head, xmega and fuses, all fuses tied to fuse0 - * jtag3.c (jtag3_read_byte, jtag3_write_byte): Correctly apply the - relevant part of mem->offset as the address to operate on. - -2013-09-03 Joerg Wunsch - - * fileio.c: Fix "unused variable" warnings. - * avr.c: (Dito.) - * stk500v2.c: (Dito.) - * stk500.c: (Dito.) - * jtagmkII.c: (Dito.) - * term.c: (Dito.) - * ser_posix.c: (Dito.) - -2013-09-02 Joerg Wunsch - - Submitted by Travis Griggs: - bug #38307: Can't write usersig of an xmega256a3 - * stk500v2.c (stk600_xprog_page_erase): allow erasing the usersig space. - -2013-09-02 Joerg Wunsch - - Submitted by Robert Niemi: - bug #35800: Compilation error on certain systems if parport is disabled - * linux_ppdev.h: Conditionalize inclusion of and - on HAVE_PARPORT - -2013-09-02 Joerg Wunsch - - bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4 - * pickit.c (usb_open_device): Use %p rather than %X to print "handle" - which is a pointer - * jtag3.c (jtag3_initialize): Initialize "flashsize" to be sure it - proceeds with a valid value. - -2013-09-02 Joerg Wunsch - - bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4 - * buspirate.c: Turn the "cmd" argument of the various methods into - a "const unsigned char *"; while doing this, declare all arrays being - passed as arguments to be pointers rather than arrays, as the latter - obfuscates the way arrays are being passed to a callee in C. - * avrftdi.c: (Dito.) - * pickit2.c: (Dito.) - * ft245r.c: (Dito.) - * avr910.c: (Dito.) - * stk500.c: (Dito.) - * bitbang.c: (Dito.) - * bitbang.h: (Dito.) - * avrftdi_tpi.c: (Dito.) - * avrftdi_tpi.h: (Dito.) - * usbasp.c: (Dito.) - * stk500v2.c: (Dito.) - * pgm.h: (Dito.) - * usbtiny.c: (Dito.) - -2013-09-02 Joerg Wunsch - - bug #38023: avrdude doesn't return an error code when attempting - to upload an invalid Intel HEX file - * fileio.c (ihex2b): Turn the "No end of file record found" warning - into an error if no valid record was found at all. - -2013-09-02 Joerg Wunsch - - Submitted by Claus-Justus Heine: - bug #38713: Compilation of the documentation breaks with texinfo-5 - * doc/avrdude.texi: Turn @itemx into @item, add @headitem to STK600 - Routing/Socket card table - -2013-09-02 Joerg Wunsch - - * usbasp.c: Add trace output for -vvv to non-TPI functions, too. - -2013-09-01 Joerg Wunsch - - * usbasp.c (usbasp_tpi_paged_load): Calculate correct - buffer address. - * usbasp.c (usbasp_tpi_paged_write): Calculate correct - buffer address; don't issue a SECTION_ERASE command for - each page (a CHIP_ERASE has been done before anyway); - remove the code that attempted to handle partial page - writes, as all writes are now done with a full page. - -2013-09-01 Joerg Wunsch - - * usbasp.c: Add more trace output, by now only for the TPI - functions. - -2013-08-31 Joerg Wunsch - - * usbasp.c (usbasp_transmit): Add -vvvv trace output. - -2013-08-30 Joerg Wunsch - - bug #39893: Verification failure with AVRISPmkII and Xmega - * stk500v2.c (stk600_xprog_page_erase): Fix argument that is - passed to stk600_xprog_memtype() - -2013-07-11 Joerg Wunsch - - * fileio.c (elf2b): replace elf_getshstrndx() by - elf_getshdrstrndx() as the former one is deprecated - -2013-06-19 Rene Liebscher - - use bitbanging on ftdi mpsse when wrong pins are used - * avrftdi.c, avrftdi_private.h: added additional pin check - and bitbanging fallback - * pindefs.[ch]: added a flag to enable/disable output - * ft245r.c: changes because of added flag above - -2013-05-17 Joerg Wunsch - - Submitted by "Malte" and John McCorquodale: - patch #7876 JTAGICE mkII fails to connect to attiny if debugwire - is enabled AND target has a very slow clock - * jtagmkII.c (jtagmkII_getsync): When leaving debugWIRE mode - temporarily, immediately retry with ISP, rather than leaving. - * stk500v2 (stk500v2_program_enable): Implemented similar logic - for the JTAGICE3. - -2013-05-16 Rene Liebscher - - * configure.ac: reactivate check for TYPE_232H, which does not - exist in libftdi < 0.20 - * avrftdi*.*: changed include check for libftdi/libusb, deactivate - 232H if not available - * ft245r.c: changed include check for libftdi/libusb - -2013-05-08 Joerg Wunsch - - * main.c (main): Add option -l logfile. - * avrdude.1: Document -l option. - * doc/avrdude.texi: (Dito.) - -2013-05-15 Rene Liebscher - - * configure.ac: if both found libftdi and libftdi1 use only libftdi1 - * avrdude.conf.in: fixed buff pins of avrftdi programmers (low - active buffer need now inverted numbers) - * avrftdi*.*: accept also old libftdi (0.20 still works with it), - added powerup to initialize - * ft245r.c: accept libftdi1, code cleanup and make it more similar - to avrfdti (os they might be merged someday) - -2013-05-08 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 6.0rc1. - -2013-05-07 Hannes Weisbach - - * avrftdi_private.h: Change size of pin_checklist to N_PINS (from N_PINS-1) - * avrftdi.c: Adapt code to new size of pin_checklist. Remove pins_check() - from set_pin(). - Add pgm->power[up|down] functions as well as fill pgm->enable|disable with - proper content as suggested by Rene Liebscher. - -2013-05-05 Rene Liebscher - - * pindefs.h: use unsigned int if stdint.h is not available and UINT_MAX is 0xffffffff - otherwise use unsinged long - * ft245r.c: added support for more pin functions led, vcc, buff - -2013-05-06 Hannes Weisbach - - * avrftdi_tpi.c: instead of private set_pin() function pointer use the one - declared in struct PROGRAMMER. - * avrftdi_private.h: remove set_pin function pointer. Add pin_checklist_t - member to check pgm->setpin calls during runtime. - * avrftdi.c: remove set_pin function pointer init, add pgm->setpin init. - Convert avrftdi to new 0-based pindefs infrastructure. - * avrdude.conf.in: Change all avrftdi-based programmers' pin definitions to - 0-based. - -2013-05-06 Joerg Wunsch - - * pindefs.h: Include "ac_cfg.h" before testing for HAVE_* macros. - -2013-05-05 Rene Liebscher - - * main.c: revert to rev 1159 (doing pgm_display after pgm_open) - * avrpart.[ch]: moved avr_pin_name to pindefs.[ch] - * pgm.c: moved pins_to_str to pindefs.[ch], added initialization of - new pin definitions in pgm_new() - * pindefs.[ch]: added moved functions from other files, added a lot of - documentation, reformatted files using astyle to have consistent spacing, - added a new generic check function for pins - * ft245r.c: used new generic pin check function - -2013-05-03 Rene Liebscher - - Create new pin definition data structures to support 0-based pin numbers, - and mixed inverse/non-inverse pin lists. - * avrftdi.c,buspirate.c,linuxgpio.c,par.c,serbb_*.c: added function call - to fill old pinno entries from new pin definitions. - * pindefs.[hc]: added data struct and helper functions for new pin definitions - * avrdude.conf.in: pins in entries using ftdi_syncbb are now 0-based - * config_gram.y: allow combinations of inverted and non-inverted pins in pin lists - * ft245r.c: reworked to work directly with the new pin definitions, - pins are now 0-based, inverse pins are supported, buff is supported - * pgm.[ch]: added new pin definitions field to programmer structure, - adapted pin display functions - -2013-05-03 Hannes Weisbach - - * avrftdi_private.h: Remove update forward declaration from avrftdi_print to - avrftdi_log. - * avrftdi_tpi.c: Do all I/O in terms of pgm->cmd_tpi()-calls instead of - avrftdi_tpi_[read,write]_byte(). - Remove unnecessary set_pin call to set MOSI high, speeds up I/O. - Removes SKEY array, moves it to tpi.h. - Integrate new avr_tpi_[program_enable,chip_erase]() and functions into - avrftdi_tpi. - * avrftdi_tpi.h: Remove avrftdi_tpi_[program_enable,chip_erase] forward - declarations. - * avr.c: Adds avr_tpi_chip_erase() generic TPI chip erase function. - Adds avr_tpi_program_enable() - generic TPI external programming enable - function. Sets guard time, reads identification register, sends SKEY command - and key, checks NVMEN bit. The required guard time has to be passed as - parameter. - * tpi.h: Adds SKEY array including CMD_SKEY in "correct" order. - -2013-05-02 Hannes Weisbach - - * avrftdi_private.h: Add libusb-1.0 include to fix include order in windows. - * NEWS: Add notice avrftdi supporting TPI - * avr.c: Fix avr_tpi_poll_nvmbsy() - poll read data instead of return code - * avrftdi_private.h, avrftdi.c: move logging #defines to from avrftdi.c to - avrftdi_private.h, so that they are available for avrftdi_tpi, too. - -2013-04-30 Hannes Weisbach - - * tpi.h: Add definition for TPI Identification Code - * avrftdi_tpi.c: Add TPI-support for FTDI-based programmers - * avrftdi_private.h: Add common include file for FTDI-based programmers - -2013-04-28 Hannes Weisbach - - * avrftdic: Rework of textual output. Messages are divided by severity and - printed accordingly to the verbosity, as specified by the user. The provided - severity level are (ERROR, WARN, INFO, DEBUG, TRACE). Where "ERROR" messages - are always printed. Shortcut-macros including function, from which the - output was generated, and line number were also added. - Some log messages were updated and other code warnings removed. - -2013-04-27 Hannes Weisbach - - * configure.ac: Add libftdi1 library check, remove TYPE_232H DECL check - * Makefile.am: Add @LIBFTDI1@ to avrdude_LDADD - * avrftdi.c: Update from libftdi0 to libftdi1. Use libftdi1's function to - find a device by vid/pid/serial instead of doing it ourself and add/update - error messages. avrftdi_print is changed so that a message is printed when - the verbosity level is greater or equal the message level, to have always-on - messages. - Fix a bug where the RX fifo of the FTDI chip is full, resulting in STALL/NAK - of the ongoing OUT request and subsequently timeout, because an IN request - cannot be issued due to the synchronous part of libftdi. This should fix - #38831 and #38659. - -2013-04-25 Joerg Wunsch - - * configure.ac(AC_CONFIG_HEADERS): Replace the old AM_CONFIG_HEADER - by this; automake 1.13+ barfs. - -2013-03-12 Joerg Wunsch - - * avrdude.conf.in (ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2): - New devices - -2013-01-30 Rene Liebscher - - patch #7724 Add TPI support for Bus Pirate using bitbang mode - * buspirate.[ch]: added support for BusPirate Bitbanging - * pgm_type.c: added entry for buspirate_bb - * avrdude.conf.in: added entry for buspirate_bb - -2013-01-30 Rene Liebscher - - patch #7936 Patch to support BusPirate AVR Extended Commands mode - * buspirate.c: added support for BusPirate AVR Extended Commands mode - * avrdude.1: added doc for nopagedread parameter - * doc/avrdude.texi: added doc for nopagedread parameter - -2013-01-30 Rene Liebscher - - patch #7723 Bus Pirate “raw-wire” mode which can run down to 5 kHz - * buspirate.c: added raw wire mode - * avrdude.1: added doc for rawfreq parameter - * doc/avrdude.texi: added doc for rawfreq parameter - -2013-01-30 Rene Liebscher - - bug #37977 Support for Openmoko Debug Board - * avrdude.conf.in: added openmoko entry - -2013-01-29 Rene Liebscher - - patch #7932 Read USBtiny VID and PID from avrdude.conf if provided. - * avrdude.conf.in: added usbpid, usbvid to usbtiny - * usbtiny.[ch]: use usbpid, usbpid if provided in config file - -2013-01-26 Joerg Wunsch - - bug #38172: avrftdi: Incorrect information in avrdude.conf - * avrdude.conf.in (avrftdi): fix comments about ACBUS vs. ADBUS; - add a comment that the MPSSE signals are fixed by the FTDI - hardware and cannot be changed - -2013-01-09 Rene Liebscher - - patch #7165 Add support for bitbanging GPIO lines using the Linux sysf GPIO interface - * doc/avrdude.texi,avrdude.1: added doc for linuxgpio - * avrdude.conf.in: added template for linuxgpio programmer - * config_gram.y: pin numbers restricted to [PIN_MIN, PIN_MAX] - * pindefs.h: added PIN_MIN, PIN_MAX, removed unused LED_ON/OFF - * configure.ac: configure option enable-linuxgpio, print of enabled options - * linuxgpio.[ch]: new source for linuxgpio programmer - * Makefile.am: added linuxgpio to sources list - * pgm_type.c: added linuxgpio to programmer types list - -2013-01-08 Joerg Wunsch - - * jtagmkI.c (jtagmkI_prmsg): replace a putchar() by putc(...stderr) - * jtagmkII.c (jtagmkII_prmsg): (Dito.) - * jtag3.c (jtag3_prevent, jtag3_prmsg): (Dito.) - -2013-01-02 Joerg Wunsch - - * usb_libusb.c (usbdev_open): Downgrade the max transfer size for - the main data endpoints when being forced so by the USB; this can - happen when attaching the JTAGICE3 to a USB 1.1 connection - * jtag3.c (jtag3_initialize): When detecting a downgraded max - transfer size on the JTAGICE3 (presumably, due to being connected - to USB 1.1 only), bail out as its firmware cannot properly handle - this (by now) - -2013-01-02 Joerg Wunsch - - * ChangeLog: annual ChangeLog rotation time diff --git a/ChangeLog-2014 b/ChangeLog-2014 deleted file mode 100644 index 3fe7a53a..00000000 --- a/ChangeLog-2014 +++ /dev/null @@ -1,697 +0,0 @@ -2014-11-26 Joerg Wunsch - - * ser_win32.c (net_send): Properly declare argument 2 as being a - pointer to const data. - -2014-11-25 Joerg Wunsch - - patch #8380: adds 500k 1M 2M baud to ser_posix.c - * ser_posix.c: Add a hack to allow for arbitrary baud rates on - Linux - -2014-11-25 Joerg Wunsch - - patch #8437: [PATCH] Serial-over-ethernet for Win32 - * configure.ac: Check for ws2_32 library - * ser_win32.c: Add hooks for forwarding serial data over - TCP connections - * avrdude.1: Drop previous restriction of -P net: - * doc/avrdude.conf: (Dito.) - -2014-11-24 Joerg Wunsch - - bug #42908: no external reset at JTAGICE3 - * jtag3.c (jtag3_initialize): Retry with external reset applied if - the first sign-on attempt fails. - -2014-11-23 Joerg Wunsch - - * main.c: Allow the -B option argument to be suffixed with Hz, - kHz, or MHz, in order to specify a bitclock frequency rather than - period. - * avrdude.1: Document the -B option changes. - * doc/avrdude.texi: (Dito.) - -2014-11-23 Joerg Wunsch - - bug #40870: config nitpick: ATtiny25/45/85 have 1 calibration byte not 2 - * avrdude.conf.in (ATtiny25, ATtiny45, ATtiny85): Fix size of - "calibration" memory area - -2014-11-23 Joerg Wunsch - - bug #43137: Writing and reading incorrect pages when using jtagicemkI - * jtagmkI.c (jtagmkI_paged_write, jtagmkI_paged_load): correctly - calculate the size of a partial (non-pagesize) buffer - -2014-11-23 Joerg Wunsch - - bug #43078: AVRDUDE crashes after sucessfully reading/writing eeprom - * jtag3.c (jtag3_edbg_recv_frame): Return correct length as - reported in the response packet, rather than full 512 byte which - are always reported by the CMSIS-DAP layer. Miscalculations - based on the wrongly reported length caused heap corruption - elsewhere, so this is presumably also a fix for bug #43078. - -2014-11-20 Joerg Wunsch - - bug #41561: AVRDUDE 6.0.1/USBasp doesn't write first bytes of - flash page - * usbasp.c (usbasp_spi_paged_write): Remove USBASP_BLOCKFLAG_LAST. - It is no longer needed, as we always write full pages now in paged - write mode. - -2014-11-19 Joerg Wunsch - - bug #43626: Inconsistent timeouts in stk500v2 - * stk500v2.c (stk500v2_recv): Add a reference to the bug report - but don't change anything, lest to break it somehow - -2014-11-14 Rene Liebscher - - patch #8529 2 more ftdi_syncbb devices - * avrdude.conf.in: added 2 new programmers - -2014-11-14 Rene Liebscher - - bug #40142 Floating point exception on Ubuntu 10.04 - * avr.c: avoid division by zero in report_progress(), eg. when - writing an empty eeprom file were total becomes 0 - -2014-11-13 Rene Liebscher - - patch #8504 buspirate: Also support "cpufreq" extended parameter - in binary mode - * buspirate.c: applied patch + switch off at disable (even when - a reset follows) + some general whitespace/tab cleanup - -2014-10-15 Joerg Wunsch - - bug #37441: lockbits in ATxmega + avrdude = problem - * fileio.c: replace strmcp(..., "lock") by strncmp(..., "lock", 4) - where applicable - * jtag3.c: (Dito.) - * jtagmkII.c: (Dito.) - -2014-10-07 Joerg Wunsch - - bug #42267: jtag3isp fails to read lock and fuse bytes directly - after changing lock byte - * stk500v2.c (stk500isp_write_byte): As a workaround for broken - tool firmware, add 10 ms of delay before returning from any - single-byte write operation. - -2014-10-06 Joerg Wunsch - - * stk500v2.c: Use stk500isp_read_byte/stk500isp_write_byte for - every byte-wide access (rather than JTAGICE3 only). This finally - obsoletes the use of the prehistoric SPI_MULTI command where - AVRDUDE used to assemble all the low-level ISP stuff by itself. - -2014-10-06 Joerg Wunsch - - bug #22248: Read efuse error - * avrdude.conf.in (m168, m328, m48, m88, t1634, t26, t261, t461, - t861, t88): In efuse (or hfuse for t26) read operation, turn all - bits in byte 3 from "x" to "o" (output); this is a first step - towards fixing the symptoms mentioned in the bug, by unifying the - behaviour between different AVRs. Not touched are the historic - devices where the fuses are not documented to form a full byte - each (2333, 4433, 4434, 8535, m103, m161, m163). - -2014-09-22 Joerg Wunsch - - bug #43268: usb_drain() call causes LUFA AVR-ISP MKII Code to Fail - * usb_libusb.c (usbdev_drain): Make this a dummy function only. - -2014-08-19 Rene Liebscher - - patch #7694 Add support for the atmega32m1 - * avrdude.conf.in: added ATmega32M1 - -2014-08-18 Rene Liebscher - - patch #8440 Print part id after signature - When printing the part signature also print the part id. - * avrpart.c (locate_part_by_signature): New function. - * libavrdude.h (locate_part_by_signature): New function. - * main.c (main): Use the new function to find the part and print its id. - -2014-08-18 Rene Liebscher - - patch #8511 Fix reset on FT245R - * ft245r.c: applied patch - -2014-08-18 Rene Liebscher - - bug #43002 usbasp debug output typo - * usbasp.c: fixed typos - -2014-07-16 Joerg Wunsch - - bug #42662 clang warnings under FreeBSD 10.x - * avrftdi.h: Fix header guard macro name. - * pgm_type.c (programmers_types): Remove duplicate "const". - -2014-07-16 Rene Liebscher - - bug #42662 clang warnings under FreeBSD 10.x - * avrftdi.c: remove warnings - * buspirate.c: (Dito.) - * dfu.c: (Dito.) - * fileio.c: (Dito.) - * libavrdude.h: (Dito.) - * pickit2.c: (Dito.) - * safemode.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * stk500v2.c: (Dito.) - * usb_libusb.c: (Dito.) - * usbasp.c: (Dito.) - - * config_gram.y: fix problem when using parent part with usbpid lists - (existing list was extended not overwritten) - -2014-07-11 Axel Wachtler - - * avrftdi.c: rollback to vfprintf, fixed error from -r1305, (patch #8463) - -2014-06-23 Rene Liebscher - - * linux_ppdev.h: added missing msg level for avrdude_message - in ppi_claim/ppi_release macros - * avrftdi.c: added break at end of default - -2014-06-21 Rene Liebscher - - patch #8419 fix ftdi_syncbb hang with libftdi 1 - * ft245r.c: set pthread cancel type to asynchronous, reorder ftdi_usb_close/deinit - -2014-06-17 Rene Liebscher - - * avrftdi_private.h: added missing msg level for avrdude_message - in E/E_VOID macros - -2014-06-17 Rene Liebscher - - Removing exit calls from config parser - * config.h: cleanup, left only internally needed definitions - * config.c: removed exit calls, use yyerror and yywarning - * config_gram.y: (Dito.) - * lexer.l: (Dito.) - * libavrdude.h: removed internal definitions of config parser - * main.c: removed yyerror, it is now in config.c - * jtagmkII.c: added missing free in error case - * pgm.c: replaced exits by returns - * pickit2.c: add missing return - -2014-06-13 Axel Wachtler - - start removing global "verbose" variable, for avrdude library. - * arduino.c: added verbose level in avrdude_message() - * avr910.c: (Dito.) - * avr.c: (Dito.) - * avrdude.h: (Dito.) - * avrftdi.c: (Dito.) - * avrpart.c: (Dito.) - * bitbang.c: (Dito.) - * buspirate.c: (Dito.) - * butterfly.c: (Dito.) - * config.c: (Dito.) - * config_gram.y: (Dito.) - * dfu.c: (Dito.) - * fileio.c: (Dito.) - * flip1.c: (Dito.) - * flip2.c: (Dito.) - * ft245r.c: (Dito.) - * jtag3.c: (Dito.) - * jtagmkI.c: (Dito.) - * jtagmkII.c: (Dito.) - * lexer.l: (Dito.) - * libavrdude.h: (Dito.) - * linuxgpio.c: (Dito.) - * main.c: (Dito.) - * par.c: (Dito.) - * pgm.c: (Dito.) - * pickit2.c: (Dito.) - * pindefs.c: (Dito.) - * ppi.c: (Dito.) - * ppiwin.c: (Dito.) - * safemode.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * serbb_posix.c: (Dito.) - * serbb_win32.c: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * stk500.c: (Dito.) - * stk500generic.c: (Dito.) - * stk500v2.c: (Dito.) - * term.c: (Dito.) - * update.c: (Dito.) - * usbasp.c: (Dito.) - * usb_libusb.c: (Dito.) - * usbtiny.c: (Dito.) - * wiring.c: (Dito.) - -2014-06-11 Rene Liebscher - - bug #42516 spelling-error-in-binary - * stk500v2.c, avrftdi.c, usbasp.c: fixed spelling errors - -2014-06-01 Rene Liebscher - - bug #42337 avrdude.conf updates for UM232H/CM232H - * avrdude.conf.in: fixed entries as proposed - -2014-05-19 Joerg Wunsch - - bug #41854: avrdude 6.1 does not compile on systems without libUSB - Submitted by Didrik Madheden: - * flip1.c: Provide dummy functions for the #ifndef HAVE_LIBUSB case - * flip2.c: (Dito.) - -2014-05-19 Joerg Wunsch - - * libavrdude.h: Join the former "public" header files (avr.h avrpart.h pindefs.h - serial.h fileio.h safemode.h update.h pgm_type.h config.h confwin.h lists.h) into - a single header that can be included by anyone wanting to link against the - library - * avr.h: Remove file. - * avrpart.h: (Dito.) - * pindefs.h: (Dito.) - * serial.h: (Dito.) - * fileio.h: (Dito.) - * safemode.h: (Dito.) - * update.h: (Dito.) - * pgm.h: (Dito.) - * pgm_type.h: (Dito.) - * config.h: (Dito.) - * confwin.h: (Dito.) - * lists.h: (Dito.) - * Makefile.am: Adapt for new include file constellation; install shared lib - * configure.ac: Bump version date - * arduino.c: #include rather than a bunch of different headers - * avr910.c: (Dito.) - * avr910.h: (Dito.) - * avr.c: (Dito.) - * avrftdi.c: (Dito.) - * avrftdi_private.h: (Dito.) - * avrftdi_tpi.c: (Dito.) - * avrftdi_tpi.h: (Dito.) - * avr.h: (Dito.) - * avrpart.c: (Dito.) - * avrpart.h: (Dito.) - * bitbang.c: (Dito.) - * buspirate.c: (Dito.) - * butterfly.c: (Dito.) - * config.c: (Dito.) - * config_gram.y: (Dito.) - * config.h: (Dito.) - * confwin.c: (Dito.) - * confwin.h: (Dito.) - * dfu.c: (Dito.) - * fileio.c: (Dito.) - * fileio.h: (Dito.) - * flip1.c: (Dito.) - * flip1.h: (Dito.) - * flip2.c: (Dito.) - * flip2.h: (Dito.) - * ft245r.c: (Dito.) - * ft245r.h: (Dito.) - * jtag3.c: (Dito.) - * jtagmkI.c: (Dito.) - * jtagmkII.c: (Dito.) - * lexer.l: (Dito.) - * libavrdude.h: (Dito.) - * linuxgpio.c: (Dito.) - * lists.c: (Dito.) - * lists.h: (Dito.) - * main.c: (Dito.) - * par.c: (Dito.) - * pgm.c: (Dito.) - * pgm_type.c: (Dito.) - * pgm_type.h: (Dito.) - * pickit2.c: (Dito.) - * pickit2.h: (Dito.) - * pindefs.c: (Dito.) - * pindefs.h: (Dito.) - * ppi.c: (Dito.) - * ppiwin.c: (Dito.) - * safemode.c: (Dito.) - * safemode.h: (Dito.) - * ser_avrdoper.c: (Dito.) - * serbb_posix.c: (Dito.) - * serbb_win32.c: (Dito.) - * serial.h: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * stk500.c: (Dito.) - * stk500generic.c: (Dito.) - * stk500v2.c: (Dito.) - * stk500v2_private.h: (Dito.) - * term.c: (Dito.) - * term.h: (Dito.) - * update.c: (Dito.) - * update.h: (Dito.) - * usbasp.c: (Dito.) - * usbasp.h: (Dito.) - * usb_libusb.c: (Dito.) - * usbtiny.c: (Dito.) - * usbtiny.h: (Dito.) - * wiring.c: (Dito.) - -2014-05-19 Joerg Wunsch - - * main.c: Cleanup unused include files. - -2014-05-19 Joerg Wunsch - - * linux_ppdev.h: Caught two more instances of exit() - * configure.ac: Add AC_CONFIG_MACRO_DIR as suggested by libtoolize - * Makefile.am: add -I m4 to ACLOCAL_AMFLAGS as suggested by libtoolize - -2014-05-16 Axel Wachtler - - * arduino.c: Replacing all occurences of fprintf(stderr,...) with avrdude_message(...) - in potential library functions. - * avr910.c: (Dito.) - * avr.c: (Dito.) - * avrdude.h: (Dito.) - * avrftdi.c: (Dito.) - * avrftdi_private.h: (Dito.) - * avrpart.c: (Dito.) - * bitbang.c: (Dito.) - * buspirate.c: (Dito.) - * butterfly.c: (Dito.) - * config.c: (Dito.) - * config_gram.y: (Dito.) - * dfu.c: (Dito.) - * fileio.c: (Dito.) - * flip1.c: (Dito.) - * flip2.c: (Dito.) - * ft245r.c: (Dito.) - * jtag3.c: (Dito.) - * jtagmkI.c: (Dito.) - * jtagmkII.c: (Dito.) - * lexer.l: (Dito.) - * linuxgpio.c: (Dito.) - * linux_ppdev.h: (Dito.) - * main.c: (Dito.) - * par.c: (Dito.) - * pgm.c: (Dito.) - * pickit2.c: (Dito.) - * pindefs.c: (Dito.) - * ppi.c: (Dito.) - * ppiwin.c: (Dito.) - * safemode.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * serbb_posix.c: (Dito.) - * serbb_win32.c: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * stk500.c: (Dito.) - * stk500generic.c: (Dito.) - * stk500v2.c: (Dito.) - * term.c: (Dito.) - * update.c: (Dito.) - * usbasp.c: (Dito.) - * usb_libusb.c: (Dito.) - * usbtiny.c: (Dito.) - * wiring.c: (Dito.) - -2014-05-16 Joerg Wunsch - - * configure.ac: Bump version, add libtool hooks - * Makefile.am: First attempt to define building a shared library - (not to be installed by now) - -2014-05-16 Joerg Wunsch - - * dfu.c (dfu_open, dfu_init): Fix signature of the dummy functions - (in the !HAVE_LIBUSB case) to match prototypes. - -2014-05-16 Joerg Wunsch - - * avr910.c: Replace all occurences of exit() in potential library - functions by appropriate return values - * avrftdi.c: (Dito.) - * bitbang.c: (Dito.) - * bitbang.h: (Dito.) - * buspirate.c: (Dito.) - * butterfly.c: (Dito.) - * config.c: (Dito.) - * flip2.c: (Dito.) - * ft245r.c: (Dito.) - * jtagmkI.c: (Dito.) - * jtagmkII.c: (Dito.) - * linuxgpio.c: (Dito.) - * main.c: (Dito.) - * par.c: (Dito.) - * pgm.c: (Dito.) - * pickit2.c: (Dito.) - * pindefs.c: (Dito.) - * pindefs.h: (Dito.) - * ser_avrdoper.c: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * serbb_posix.c: (Dito.) - * serbb_win32.c: (Dito.) - * stk500.c: (Dito.) - * stk500v2.c: (Dito.) - -2014-05-07 Rene Liebscher - - bug #42310: New part description for AT90PWM216 - * avrdude.conf.in: added pwm216 entry - -2014-05-07 Rene Liebscher - - bug #42158: Linux GPIO - Source Typo - * pindefs.h: fixed typo - -2014-04-14 Rene Liebscher - - bug #42056: double free or corruption triggered at exit - * pgm.c: copy usbpid list in pgm_dup - -2014-04-05 Joerg Wunsch - - * avrdude.1: Remove the note that users might edit the system-wide - config file. This file will be overwritten by the next - installation, so it's not a good idea to manually modify it. - Using the -C +file option is a much better way for user - modifications. - * doc/avrdude.texi: (Dito.) - * avrdude.conf.in: Add a warning to not modify the file manually. - -2014-03-13 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version for post-6.1. - -2014-03-12 Joerg Wunsch - - * configure.ac (AC_INIT): Bump version to 6.1. - -2014-03-12 Joerg Wunsch - - * pgm.c (pgm_free): Cleanup police: destroy the p->usbpid - list when freeing the programmer struct. - -2014-03-12 Joerg Wunsch - - bug #40782: Verify errors for object size > 16 k on x32e5 due - to typo in avrdude.conf - * avrdude.conf.in (ATmega8E5, ATmega32E5): fix boot location - -2014-02-28 Joerg Wunsch - - * avrdude.conf.in (atmelice, atmelice_pdi, atmelice_dw, atmelice_isp): - New entries. - * avrdude.1: Document the Atmel-ICE addition. - * doc/avrdude.texi: (Dito.) - * usbdevs.c (USB_DEVICE_ATMEL_ICE): New entry. - -2014-02-28 Joerg Wunsch - - * main.c: Bump copyright year. - -2014-02-28 Joerg Wunsch - - * jtag3.c (jtag3_recv): avoid memmov'ing more data than available - -2014-02-27 Joerg Wunsch - - * avrdude.1: Documentation update for EDBG. - * doc/avrdude.texi: (Dito.) - -2014-02-27 Joerg Wunsch - - * jtag3.c: For EDBG protocol, always use 512-byte block I/O. The - lower layers will split this according to the EP's maxsize. This - makes it work over USB 1.1 connections (albeit very slowly, due to - the interrupt transfers used). - -2014-02-27 Joerg Wunsch - - * config_gram.y: Turn the usbpid parameter of the programmer into - a list of PIDs. Make the JTAGICE3 programmer handle a list of - PIDs, by trying each of them in sequence. Use a single, central - jtag3_open_common() function to handle the common code of all - jtag3_open_* functions. Centralize all USB VID/PID definitions in - usbdevs.h. - * flip1.c: (Dito.) - * ft245r.c: (Dito.) - * stk500v2.c: (Dito.) - * jtag3.c: (Dito.) - * jtag3.h: (Dito.) - * flip2.c: (Dito.) - * usbdevs.h: (Dito.) - * pgm.c: (Dito.) - * serial.h: (Dito.) - * pgm.h: (Dito.) - * usbtiny.c: (Dito.) - * usbasp.c: (Dito.) - * avrftdi.c: (Dito.) - * usbtiny.h: (Dito.) - * avrdude.conf.in: (Dito.) - * usbasp.h: (Dito.) - * usb_libusb.c: (Dito.) - -2014-02-27 Joerg Wunsch - - * usb_libusb.c (usbdev_open): Replace all calls to exit(1) by - return -1 - -2014-02-26 Joerg Wunsch - - * jtag3_private.h: Add EDBG/CMSIS-DAP specific constants. - * jtag3.c: Add EDBG/CMSIS-DAP protocol implementation. - * serial.h: (Dito.) - * usbdevs.h: (Dito.) - * usb_libusb.c: (Dito.) - * configure.ac: (Dito.) - * avrdude.conf.in: Add JTAGICE3 and XplainedPro entries using - EDBG. - * configure.ac: Bump version date. - -2014-02-22 Joerg Wunsch - - * usb_libusb.c (usbdev_recv_frame): Fix a bug where a new recv - request was issued even though all desired data had aldready - been received. - -2014-02-21 Joerg Wunsch - - * serial.h: Change the second parameter of the ser_open method - from "baud" into a "union pinfo", so the USB parameters can be - passed without hacks. - * arduino.c: (Dito.) - * avr910.c: (Dito.) - * buspirate.c: (Dito.) - * butterfly.c: (Dito.) - * jtag3.c: (Dito.) - * jtagmkI.c: (Dito.) - * jtagmkII.c: (Dito.) - * ser_avrdoper.c: (Dito.) - * ser_posix.c: (Dito.) - * ser_win32.c: (Dito.) - * stk500.c: (Dito.) - * stk500v2.c: (Dito.) - * usb_libusb.c: (Dito.) - * wiring.c: (Dito.) - -2014-01-30 Joerg Wunsch - - [bug #41402] dfu.c missing include - * dfu.c: include where uint16_t is defined - -2014-01-28 Joerg Wunsch - - * avrdude.conf.in (ATmega256RFR2 et al.): Fix EEPROM size. - -2014-01-27 Joerg Wunsch - - [bug #41357] OS X: Avrdude messes with the usb stack? - * usb_libusb.c (usbdev_close): Only issue the usb_reset() for - Linux systems, as these are the only ones that seem to require - it under some circumstances. - -2014-01-22 Joerg Wunsch - - * configure.ac (libelf): check against elf_getshdrstrndx() rather - than just elf_begin() only, so it is clear we found a sufficiently - recent libelf to work with. - -2014-01-22 Joerg Wunsch - - Contributed by Alan Horstmann: - bug #40897: AT Mega2560 not correctly programmed with stk500(v1) ISP (solution patch) - * stk500.c: Implement extended address byte handling. - * avrdude.conf.in (ATmega2560): enable stk500_devcode so - STK500v1 protocol actually starts at all. - -2014-01-17 Joerg Wunsch - - * flip1.c: Implement the meat of FLIP version 1 protocol. - * avrdude.1: Document the new protocol. - * doc/avrdude.texi: (Dito.) - -2014-01-17 Joerg Wunsch - - * flip2.c (flip2_page_erase): Remove unimplemented function. - * dfu.h: Correctly conditionalize vs. ; - add adjustable timeout (struct dfu_dev); add dfu_abort() - * dfu.c (dfu_abort): New function; implement adjustable timeout. - -2014-01-17 Joerg Wunsch - - * configure.ac (libhid): Turn from AC_TRY_RUN into - AC_TRY_COMPILE, so it also works for cross-compilation - setups. - -2014-01-16 Joerg Wunsch - - * dfu.c (dfu_init): Move the descriptor checks up into the - FLIP protocol implementation. - * flip2.c (flip2_initialize): (Dito.) - * flip1.c (flip1_initialize): (Dito.) - -2014-01-16 Joerg Wunsch - - * flip2.c: Rename from flip.c - * flip2.h: Rename from flip.h - * Makefile.am: Reflect the renaming. - * dfu.c: Update information how to get GPL. - * dfu.h: (Dito.) - -2014-01-16 Joerg Wunsch - - * flip.c (flip2_initialize): Check user is running on an Xmega - device. - -2014-01-15 Joerg Wunsch - - * flip.c: Added some verbose-level messages (-vv) - * dfu.c: Added some verbose-level messages (-vvvv) - -2014-01-15 Joerg Wunsch - - Submitted by Kirill Levchenko: - patch #7896: DFU FLIPv2 programming support - * pgm_type.c: Add the flip2 programmer type. - * config_gram.y: Allow for the usbid keyword in a device definition. - * avrdude.conf.in: Add usbpid values to those Xmega devices where - applicable. - * avrpart.h: Add usbpid device field. - * dfu.c: (New file.) - * dfu.h: (New file.) - * flip.c: (New file.) - * flip.h: (New file.) - * Makefile.am: Add new files. - * doc/avrdude.texi: Document the changes. - * avrdude.1: (Dito.) - -2014-01-15 Joerg Wunsch - - * ChangeLog-2013: Annual changelog rotation. diff --git a/ChangeLog-2015 b/ChangeLog-2015 deleted file mode 100644 index edc27418..00000000 --- a/ChangeLog-2015 +++ /dev/null @@ -1,54 +0,0 @@ -2015-12-15 Joerg Wunsch - - * avrdude.1 (-C): Do not suggest users might change the - default config file. It will be overwritten by updates. - -2015-12-09 Joerg Wunsch - - bug #46610: Floating point exception (core dumped) arch linux rpi2 - bug #46483: version 6.2. ser_open(): can't set attributes for device - * ser_posix.c: Back out change from patch #8380 - -2015-11-16 Joerg Wunsch - - * configure.ac: Bump for post-release 6.2. - -2015-11-16 Joerg Wunsch - - * configure.ac: Released version 6.2. - -2015-10-31 Joerg Wunsch - - Submitted by Martino Facchin: - bug #45727: Wrong atmega8u2 flash parameters - * avrdude.conf.in (ATmega8U2): correct page and block size - -2015-10-31 Joerg Wunsch - - Submitted by Pasquale Cocchini: - bug #46020: Add TIAO TUMPA to the conf file. - * avrdude.conf.in (tumpa): New entry. - -2015-10-31 Joerg Wunsch - - Submitted by Pasquale Cocchini: - bug #46021: Please add read in the memory lock section of ATtiny85 - * avrdude.conf.in (ATtiny25/45/85): add read pattern for lock bits - -2015-10-31 Joerg Wunsch - - * Makefile.am (libavrdude_a_SOURCES): reflect recent changes - (pgm.h is gone, config.h is new). - -2015-04-09 Joerg Wunsch - - bug #44717: avrdude creates empty flash dump - * update.c (do_op): When about to write an empty flash dump file, - warn about this to avoid surprises. - * avrdude.1: Document the truncation of trailing 0xFF bytes for - flash memory areas. - * doc/avrdude.texi: (Dito.) - -2015-04-09 Joerg Wunsch - - Annual ChangeLog rotation. diff --git a/ChangeLog-2016 b/ChangeLog-2016 deleted file mode 100644 index 9ee8f6f4..00000000 --- a/ChangeLog-2016 +++ /dev/null @@ -1,95 +0,0 @@ -2016-09-14 Joerg Wunsch - - * stk500v2.c (DEBUG, DEBUGRECV): define these unconditionally, - as MSG_TRACE2 messages. - -2016-05-10 Joerg Wunsch - - Submitted by Hannes Jochriem: - * avrdude.conf.in (ehajo-isp): New programmer. - -2016-04-20 Joerg Wunsch - - * configure.ac (libftdi1): Rather than hardcoding the library - providing the libusb-1.0 API, use the result from the previous - probe. This helps detecting libftdi1 on FreeBSD where the - libusb-1.0 API is provided by the system's libusb. - -2016-04-18 Joerg Wunsch - - * usb_hidapi.c (usbhid_open): Correctly calculate the - offset for serial number matching - -2016-03-28 Joerg Wunsch - - bug #47550: Linux GPIO broken - * linuxgpio.c: Replace %ud by %u in snprintf calls. - -2016-03-02 Joerg Wunsch - - * usb_hidapi.c (usbhid_recv): Bump read timeout to 300 ms. - -2016-02-20 Joerg Wunsch - - * jtag3.c: add support for libhidapi as (optional) transport for - CMSIS-DAP compliant debuggers (JTAGICE3 with firmware 3+, - AtmelICE, EDBG, mEDBG) - * usb_hidapi.c: (New file) - * libavrdude.h: Mention usbhid_serdev - * configure.ac: Bump version date - -2016-02-18 Joerg Wunsch - - (Obtained from patch #8717: pattch for mcprog and libhidapi support) - * configure.ac: Probe for libhidapi - * Makefile.am: Add @LIBHIDAPI@ - -2016-02-16 Joerg Wunsch - - * doc/avrdude.texi: Bump copyright year. - -2016-02-16 Joerg Wunsch - - * configure.ac: Bump for post-release 6.3. - -2016-02-16 Joerg Wunsch - - * configure.ac: Released version 6.3. - -2016-02-15 Joerg Wunsch - - patch #8894: Spelling in 6.2 doc - * doc/avrdude.texi: Various spelling fixes. - -2016-02-15 Joerg Wunsch - - patch #8895: Spelling in 6.2 code - * avrftdi.c (avrftdi_open): Spell fix. - -2016-02-15 Joerg Wunsch - - patch #8896: Silence cppcheck warnings in 6.2 code - * linuxgpio.c: Use %ud to print GPIO values. - -2016-02-15 Joerg Wunsch - - patch #8735: ATtiny28 support in avrdude.conf - * avrdude.conf.in (ATtiny28): New device. - -2016-02-15 Joerg Wunsch - - * avrdude.conf.in (ATmega48PB, ATmega88PB, ATmega168PB): New - devices. - -2016-02-15 Joerg Wunsch - - patch #8435: Implementing mEDBG CMSIS-DAP protocol - * usb_libusb.c: Add endpoint IDs for Xplained Mini, correctly - transfer trailing ZLP when needed - * avrdude.conf.in (xplainedmini, xplainedmini_dw): New entries. - * jtag3.c (jtag3_edbg_send, jtag3_edbg_recv_frame): Implement - fragmentation needed for the 64-byte EP size of the Xplained Mini - * avrdude.1: Document the change - * doc/avrdude.texi: (Dito.) - - diff --git a/ChangeLog-2017 b/ChangeLog-2017 deleted file mode 100644 index 28f7d23f..00000000 --- a/ChangeLog-2017 +++ /dev/null @@ -1,56 +0,0 @@ -2017-12-30 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9507: Fix UPDI chip erase - * jtag3.c (jtag3_chip_erase_updi): New function - * jtag3_private.h: More constants - -2017-12-30 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9508: Add PowerDebugger and XPlained Mini in UPDI mode - * avrdude.conf.in (xplainedmini_updi, powerdebugger, - powerdebugger_pdi, powerdebugger_updi, powerdebugger_dw, - powerdebugger_isp): New programmers - -2017-12-29 Joerg Wunsch - - * bootstrap: Detect whether libtoolize is named - `glibtoolize' (MacOS) - -2017-11-30 Joerg Wunsch - - * configure.ac: Bump version date, due to UPDI addition - -2017-11-29 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9482: Add support for UPDI and AVR8X - * avrdude.conf.in (xplainedpro_updi): New programmer - * avrdude.conf.in (.avr8x, ATtiny1617, ATtiny817): New device - family and devices - * config_gram.y: add K_OCD_BASE and K_HAS_UPDI - * lexer.l: (Ditto.) - * doc/avrdude.texi: Document "has_updi" flag - * jtag3.c: Implement UPDI - * jtag3.h: (Ditto.) - * jtag3_private.h: (Ditto.) - * libavrdude.h: Add ocd_base value and AVRPART_HAS_UPDI flag - * pgm_type.c: Add jtagice3_updi - -2017-11-29 Joerg Wunsch - - Submitted by Jan Egil Ruud - * avrdude.conf.in (ATmega328PB): New part - -2017-11-13 Joerg Wunsch - - bug #48084: Avoid compiled-in timestamp for reproducible release builds - * main.c: Remove "compiled on/at" string - -2017-03-05 Joerg Wunsch - - bug #47718: "lfuse reads as" not displayed in verbose mode - SOLUTION - Reported by Roger A. Krupski: - * safemode.c: Display lfuse at correct MSG level - diff --git a/ChangeLog-2018 b/ChangeLog-2018 deleted file mode 100644 index 6357cce1..00000000 --- a/ChangeLog-2018 +++ /dev/null @@ -1,148 +0,0 @@ -2018-01-21 Joerg Wunsch - - patch #8444: Proposal for modifications in -B and -U command options managment - * update.c (parse_op): Default -U filename to RBIN for output - files - -2018-01-18 Joerg Wunsch - - Submitted by Simone: - patch #8128: Added new option to configure.ac script - * configure.ac (disable-libusb_1_0): New option - -2018-01-18 Joerg Wunsch - - Submitted by Jan Egil Ruud: - patch #9542: Correct "usersig" on avr8x devices - * avrdude.conf.in (.avr8x_tiny, .avr8x_mega): rename "userrow" to - "usersig", and fix its page size for .avr8x_mega - * jtag3.c: Remove all "userrow" handling - -2018-01-17 Joerg Wunsch - - Submitted by Reinhard Max - patch #8311: Add IPv6 support to the -Pnet:host:port option - * ser_posix.c (net_open): Rewrite to use getaddrinfo() - rather than gethostbyname() - * avrdude.1: Document IPv6 feature - * doc/avrdude.texi: (Dito) - -2018-01-16 Joerg Wunsch - - Submitted by Maciej: - patch #9185: Add extended_param to usbasp.c - erasing - configuration section in ATtiny 4...40 (TPI) - * usbasp.c: Implement extended parameter parsing, and modify - usbasp_tpi_chip_erase() appropriately - * avrdude.1: Document USBasp extended parameters - * doc/avrdude.texi: (Dito) - -2018-01-16 Joerg Wunsch - - Submitted by Tom Carney: - patch #8219: Fix boot_start for xmega devices on jtagmkII - * jtagmkII.c (jtagmkII_initialize): Determine boarder between - application and boot area correctly. - -2018-01-16 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9507: Fix UPDI chip erase - * libavrdude.h (PROGRAMMER): add unlock method - * avr.c (avr_unlock): Generic unlock function - * jtag3.c: Implement unlock feature; avoid calling - jtag3_edbg_prepare() and jtag3_edbg_signoff() on XplainedMini - boards to work around a bug in early firmware versions; - implement "userrow" memory region - * main.c: Call avr_unlock() rather than avr_chip_erase() when - encountering a locked UPDI chip - -2018-01-16 Joerg Wunsch - - Submitted by Nicolas BRULEZ - patch #8910: ATxmega32c4 and ATxmega16c4 have wrong signatures - bug #41388: ATxmega32c4 and ATxmega16c4 have wrong signatures - * avrdude.conf.in (ATxmega16C4, ATxmega32C4): Fix signatures - -2018-01-15 Joerg Wunsch - - Submitted by Dennis Reimers: - patch #8580: FT245r support to select device by serial number - * ft245r.c (ft245r_open): Add serial number parsing. - -2018-01-15 Joerg Wunsch - - Submitted by Axel Simon: - patch #9033: avrdoper backend uses libhidapi instead of libusb - * ser_avrdoper: Add libhidapi implementation - * stk500v2.c: Adapt #ifdefs for LIBHIDAPI - * avrdude.1: Document change - * doc/avrdude.texi: (Dito) - -2018-01-13 Joerg Wunsch - - Submitted by David Mosberger-Tang - patch #8924: Enable TPI for usbtiny - * usbtiny.c: Extend to handle TPI targets - * configure.ac: Probe for - -2018-01-12 Joerg Wunsch - - Submitted by Yegor Yefremov: - patch #9222: Enable silent build - * configure.ac: Add AM_SILENT_RULES - * Makefile.am: Document how to run "make" to get verbose - build messages - -2018-01-12 Joerg Wunsch - - Submitted by: Kjetil Kjeka: - patch #9317: Support atmega64m1 as part - * avrdue.conf.in (ATmega64M1): New entry. - -2018-01-12 Joerg Wunsch - - Submitted by Submitted David Griffith: - patch #9530: Update URL to Ladyada's USBtinyISP page. - * avrdude.conf.in (usbtiny): Update URL - -2018-01-12 Joerg Wunsch - - Submitted by Milan Kupcevic: - patch #9423: Support ATtiny841 and ATtiny441 - bug #47376: ATtiny841 description missing in configuration file - bug #49455: support for tiny441 - * avrdude.conf.in (ATtiny841, ATtiny441): New entries - -2018-01-10 Joerg Wunsch - - Submitted by Morten Engelhardt Olsen - patch #9506: Script to create device configuration stub from Atmel ATDF files - * tools/atdf-to-avrdude.xslt: New script - -2018-01-10 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9507: Fix UPDI chip erase - * lexer.l (family_id): New keyword. - * config_gram.y: (Ditto) - * doc/avrdude.texi: Document new keyword - * avrdude.conf.in: Add family_id for avr8x devices - * avr.c: Pass error code up. - * jtag3.c: Pass error code from memory read up; implement - jtag3_read_sib() - * libavrdude.h: Add new items. - * main.c: Implement different chip erase handling required - for UPDI devices. - -2018-01-10 Joerg Wunsch - - Submitted by Jan Egil Ruud - patch #9506: Script to create device configuration stub from Atmel ATDF files - * avrdude.conf.in (ATtiny202, ATtiny204, ATtiny402, ATtiny404) - (ATtiny406, ATtiny804, ATtiny806, ATtiny807, ATtiny1604) - (ATtiny1606, ATtiny1607, ATtiny212, ATtiny214, ATtiny412) - (ATTiny414, ATtiny416, ATtiny417, ATtiny814, ATtiny816) - (ATtiny1614, ATtiny1616, ATtiny3214, ATtiny3216, ATtiny3217) - (ATmega3208, ATmega3209, ATmega4808, ATmega4809): New devices - diff --git a/ChangeLog-2019 b/ChangeLog-2019 deleted file mode 100644 index 3f0fda38..00000000 --- a/ChangeLog-2019 +++ /dev/null @@ -1,20 +0,0 @@ -2019-12-17 Joerg Wunsch - - Submitted by Britton Kerin: - bug #57428: [PATCH] document when 'arduino' or 'wiring' should be used, and -D requirement of latter - * avrdude.1: Clarify - * doc/avrdude.texi: (dito) - -2019-01-05 Joerg Wunsch - - Submitted by Milan Kupcevic: - patch #9735: spelling error fix: psuedo -> pseudo - * avrpart.c (avr_display): Spelling fix - -2019-01-05 Joerg Wunsch - - Submitted by Martino Facchin: - patch #9728: Fix UsbTiny programmer - * usbtiny.c (usbtiny_initialize): Only consider - pgm->program_enable successful if returning 0 - diff --git a/ChangeLog-2020 b/ChangeLog-2020 deleted file mode 100644 index 8c01a689..00000000 --- a/ChangeLog-2020 +++ /dev/null @@ -1,104 +0,0 @@ -2020-09-22 Joerg Wunsch - - Reported by Hannes Wallnöfer: - * avrdude.conf.in (m32m1): add "size" parameter in "efuse" - section - -2020-09-20 Joerg Wunsch - - Submitted by Björn Mellström - patch #9744: Patch for ATMega324A support - * avrdude.conf.in (m324a): New entry. - -2020-09-20 Joerg Wunsch - - Submitted by Ronald Sutherland - patch #9811: ATmega328pb has efuse bit 3 - * avrdude.conf.in (m328pb): Add own efuse definition - -2020-09-19 Joerg Wunsch - - Submitted by Ralf Ramsauer - patch #9816: Implement new programmer type: linuxspi - * linuxspi.c: (New file.) - * linuxspi.h: (New file.) - * Makefile.am: Add new files - * configure.ac: Add "linuxspi" --enable option - * avrdude.conf.in: Add "linuxspi" programmer template - * pgm_type.c: Include linuxspi programmer - * doc/avrdude.texi: Document new programmer - * avrdude.1: (Dito.) - -2020-09-18 Joerg Wunsch - - Submitted by Marcin Miskiewic - patch #9963: UsbAsp 3 MHz patch for UsbAsp-flash firmware - * usbasp.c: Implement 3 MHz clock option including capability check - * usbasp.h: (Dito.) - -2020-09-18 Joerg Wunsch - - Submitted by Sven Schwermer: - patch #9966: Add JTAGICE3 in UPDI mode - * avrdude.conf (jtag3updi): New entry. - -2020-09-18 Joerg Wunsch - - Submitted by Joel Ray Holveck - patch #9732: usbtiny_paged_load overflows buffer e.g. when reading EEPROM - * usbtiny.c (usbtiny_paged_load, usbtiny_paged_write): ensure chunk - does not overflow memory area - -2020-09-16 Joerg Wunsch - - Submitted by Adrian Klieber: - patch #9818: correct typos in SVN rev 1429 - * buspirate.c: Fix typos. - * fileio.c: Fix typos. - * jtagmkII.c: Fix typos. - * main.c: Fix typos. - * term.c: Fix typos. - * usbasp.c: Fix typos. - * usbtiny.h: Fix typos. - -2020-09-16 Joerg Wunsch - - Submitted by Adrian Klieber: - patch #9820: Fix some out-of-bounds/uninitialized issues - * stk500v2.c (stk500v2_display): fix uninitialized variables - * stk500v2.c (stk500v2_set_sck_period_mk2): fix loop limits - * pickit2.c (pickit2_open): Use pgm->desc to store description (WIN32 only) - * config_gram.y (K_PAGE_SIZE): ensure page_size is > 0 - * avrpart.c (avr_new_memtype): initialize page_size to 1 - -2020-09-10 Joerg Wunsch - - * config_gram.y (K_DESC): Enforce correct length in strncpy() - * config_gram.y (K_MEMORY): (Dito.) - -2020-09-10 Joerg Wunsch - - * avrpart.c (avr_new_memtype): ensure page_size is at least 1 - * config_gram.y (K_PAGE_SIZE): (Dito.) - -2020-03-14 Joerg Wunsch - - Submitted by Adrian Klieber: - patch #9819: Address several leaks in SVN rev 1429 - * config.c: Fix potential memory leak - * jtagmkII.c: (Dito.) - * stk500v2.c: (Dito.) - * update.c: (Dito.) - * windows/loaddrv.c: Fix file descriptor leak. - -2020-03-11 Joerg Wunsch - - Submitted by: kautism - patch #9893: [PATCH] Reader reads ftdi handle after main thread close it - * ft245r.c: Wait until reader thread has been stopped before closing FTDI - -2020-03-11 Joerg Wunsch - - Fix compiler warnings - * avr.c: misleading indentation after spin loop - * fileio.c: EM_AVR32 might be defined in system diff --git a/Makefile.am b/Makefile.am index 2b812d17..4db24633 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,22 +30,6 @@ # EXTRA_DIST = \ - ChangeLog \ - ChangeLog-2001 \ - ChangeLog-2002 \ - ChangeLog-2003 \ - ChangeLog-2004-2006 \ - ChangeLog-2007 \ - ChangeLog-2008 \ - ChangeLog-2009 \ - ChangeLog-2010 \ - ChangeLog-2011 \ - ChangeLog-2012 \ - ChangeLog-2013 \ - ChangeLog-2014 \ - ChangeLog-2015 \ - ChangeLog-2016 \ - ChangeLog-2017 \ avrdude.1 \ avrdude.spec \ bootstrap diff --git a/README b/README deleted file mode 100644 index af46b9a0..00000000 --- a/README +++ /dev/null @@ -1,46 +0,0 @@ -See the documentation file for the details. - -The latest version of AVRDUDE is always available here: - - http://savannah.nongnu.org/projects/avrdude - - -Important environment variables for ./configure: -================================================ - -CPPFLAGS: C preprocessor flags (*not* "C++") - -This is the place to put additional (non-standard) -I options into. -For example, if your Windows system has LibUSB-Win32 installed into -\\WINDOWS\ProgramFiles\LibUSB-Win32, use - -CPPFLAGS=-I/WINDOWS/ProgramFiles/LibUSB-Win32/include - -to tell configure where to search for the header files. (The use of -forward slashes rather than backslashes can often simplify things. -Note that the Windows system services internally treat both the same. -It's only cmd.exe which requires backslashes as the directory -separator.) - -LDFLAGS: Linker options - -This is the place to make additional library locations known to the -linker. To continue the above example, use - -LDFLAGS=-L/WINDOWS/ProgramFiles/LibUSB-Win32/lib/gcc - -to make the linker search for "libusb.a" in that directory. - - -Linux users: make sure the header files are installed -===================================================== - -While many Linux distributions install the libraries needed by AVRDUDE -(libusb, libelf) by default, they leave out the corresponding header -files. Consequently, the configure script won't find them, so these -libraries could not be used. - -Usually, the packages with the header files (and static libraries) are -derived from the regular package name by appending "-devel". Thus, -make sure you have "libusb-devel" and "libelf-devel" installed before -running the configure script. (Same goes for libftdi.) diff --git a/configure.ac b/configure.ac index 91fcf67a..fa204a72 100644 --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,7 @@ AC_CANONICAL_HOST AC_CANONICAL_TARGET AC_CONFIG_SRCDIR([main.c]) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_HEADERS(ac_cfg.h) AC_CONFIG_MACRO_DIR([m4]) From 5633a6d88ab199b68ba68d53717efc21c0cc5868 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 17 Dec 2021 09:17:42 +0100 Subject: [PATCH 08/14] Move source files to 'src' folder --- Makefile.am => src/Makefile.am | 0 arduino.c => src/arduino.c | 0 arduino.h => src/arduino.h | 0 avr.c => src/avr.c | 0 avr910.c => src/avr910.c | 0 avr910.h => src/avr910.h | 0 avrdude.1 => src/avrdude.1 | 0 avrdude.conf.in => src/avrdude.conf.in | 0 avrdude.h => src/avrdude.h | 0 avrdude.spec.in => src/avrdude.spec.in | 0 avrftdi.c => src/avrftdi.c | 0 avrftdi.h => src/avrftdi.h | 0 avrftdi_private.h => src/avrftdi_private.h | 0 avrftdi_tpi.c => src/avrftdi_tpi.c | 0 avrftdi_tpi.h => src/avrftdi_tpi.h | 0 avrpart.c => src/avrpart.c | 0 bitbang.c => src/bitbang.c | 0 bitbang.h => src/bitbang.h | 0 bootstrap => src/bootstrap | 0 buspirate.c => src/buspirate.c | 0 buspirate.h => src/buspirate.h | 0 butterfly.c => src/butterfly.c | 0 butterfly.h => src/butterfly.h | 0 config.c => src/config.c | 0 config.h => src/config.h | 0 config_gram.y => src/config_gram.y | 0 configure.ac => src/configure.ac | 0 confwin.c => src/confwin.c | 0 crc16.c => src/crc16.c | 0 crc16.h => src/crc16.h | 0 dfu.c => src/dfu.c | 0 dfu.h => src/dfu.h | 0 {doc => src/doc}/.gitignore | 0 {doc => src/doc}/Makefile.am | 0 {doc => src/doc}/TODO | 0 {doc => src/doc}/avrdude.texi | 0 {doc => src/doc}/parts_comments.txt | 0 fileio.c => src/fileio.c | 0 flip1.c => src/flip1.c | 0 flip1.h => src/flip1.h | 0 flip2.c => src/flip2.c | 0 flip2.h => src/flip2.h | 0 freebsd_ppi.h => src/freebsd_ppi.h | 0 ft245r.c => src/ft245r.c | 0 ft245r.h => src/ft245r.h | 0 jtag3.c => src/jtag3.c | 0 jtag3.h => src/jtag3.h | 0 jtag3_private.h => src/jtag3_private.h | 0 jtagmkI.c => src/jtagmkI.c | 0 jtagmkI.h => src/jtagmkI.h | 0 jtagmkII.c => src/jtagmkII.c | 0 jtagmkII.h => src/jtagmkII.h | 0 jtagmkII_private.h => src/jtagmkII_private.h | 0 jtagmkI_private.h => src/jtagmkI_private.h | 0 lexer.l => src/lexer.l | 0 libavrdude.h => src/libavrdude.h | 0 linux_ppdev.h => src/linux_ppdev.h | 0 linuxgpio.c => src/linuxgpio.c | 0 linuxgpio.h => src/linuxgpio.h | 0 linuxspi.c => src/linuxspi.c | 0 linuxspi.h => src/linuxspi.h | 0 lists.c => src/lists.c | 0 main.c => src/main.c | 0 my_ddk_hidsdi.h => src/my_ddk_hidsdi.h | 0 par.c => src/par.c | 0 par.h => src/par.h | 0 pgm.c => src/pgm.c | 0 pgm_type.c => src/pgm_type.c | 0 pickit2.c => src/pickit2.c | 0 pickit2.h => src/pickit2.h | 0 pindefs.c => src/pindefs.c | 0 ppi.c => src/ppi.c | 0 ppi.h => src/ppi.h | 0 ppiwin.c => src/ppiwin.c | 0 safemode.c => src/safemode.c | 0 ser_avrdoper.c => src/ser_avrdoper.c | 0 ser_posix.c => src/ser_posix.c | 0 ser_win32.c => src/ser_win32.c | 0 serbb.h => src/serbb.h | 0 serbb_posix.c => src/serbb_posix.c | 0 serbb_win32.c => src/serbb_win32.c | 0 solaris_ecpp.h => src/solaris_ecpp.h | 0 stk500.c => src/stk500.c | 0 stk500.h => src/stk500.h | 0 stk500_private.h => src/stk500_private.h | 0 stk500generic.c => src/stk500generic.c | 0 stk500generic.h => src/stk500generic.h | 0 stk500v2.c => src/stk500v2.c | 0 stk500v2.h => src/stk500v2.h | 0 stk500v2_private.h => src/stk500v2_private.h | 0 term.c => src/term.c | 0 term.h => src/term.h | 0 tpi.h => src/tpi.h | 0 update.c => src/update.c | 0 usb_hidapi.c => src/usb_hidapi.c | 0 usb_libusb.c => src/usb_libusb.c | 0 usbasp.c => src/usbasp.c | 0 usbasp.h => src/usbasp.h | 0 usbdevs.h => src/usbdevs.h | 0 usbtiny.c => src/usbtiny.c | 0 usbtiny.h => src/usbtiny.h | 0 {windows => src/windows}/.gitignore | 0 {windows => src/windows}/Makefile.am | 0 {windows => src/windows}/giveio.c | 0 {windows => src/windows}/giveio.sys | Bin {windows => src/windows}/install_giveio.bat | 0 {windows => src/windows}/loaddrv.c | 0 {windows => src/windows}/loaddrv.h | 0 {windows => src/windows}/remove_giveio.bat | 0 {windows => src/windows}/status_giveio.bat | 0 wiring.c => src/wiring.c | 0 wiring.h => src/wiring.h | 0 xbee.c => src/xbee.c | 0 xbee.h => src/xbee.h | 0 114 files changed, 0 insertions(+), 0 deletions(-) rename Makefile.am => src/Makefile.am (100%) rename arduino.c => src/arduino.c (100%) rename arduino.h => src/arduino.h (100%) rename avr.c => src/avr.c (100%) rename avr910.c => src/avr910.c (100%) rename avr910.h => src/avr910.h (100%) rename avrdude.1 => src/avrdude.1 (100%) rename avrdude.conf.in => src/avrdude.conf.in (100%) rename avrdude.h => src/avrdude.h (100%) rename avrdude.spec.in => src/avrdude.spec.in (100%) rename avrftdi.c => src/avrftdi.c (100%) rename avrftdi.h => src/avrftdi.h (100%) rename avrftdi_private.h => src/avrftdi_private.h (100%) rename avrftdi_tpi.c => src/avrftdi_tpi.c (100%) rename avrftdi_tpi.h => src/avrftdi_tpi.h (100%) rename avrpart.c => src/avrpart.c (100%) rename bitbang.c => src/bitbang.c (100%) rename bitbang.h => src/bitbang.h (100%) rename bootstrap => src/bootstrap (100%) mode change 100755 => 100644 rename buspirate.c => src/buspirate.c (100%) rename buspirate.h => src/buspirate.h (100%) rename butterfly.c => src/butterfly.c (100%) rename butterfly.h => src/butterfly.h (100%) rename config.c => src/config.c (100%) rename config.h => src/config.h (100%) rename config_gram.y => src/config_gram.y (100%) rename configure.ac => src/configure.ac (100%) rename confwin.c => src/confwin.c (100%) rename crc16.c => src/crc16.c (100%) rename crc16.h => src/crc16.h (100%) rename dfu.c => src/dfu.c (100%) rename dfu.h => src/dfu.h (100%) rename {doc => src/doc}/.gitignore (100%) rename {doc => src/doc}/Makefile.am (100%) rename {doc => src/doc}/TODO (100%) rename {doc => src/doc}/avrdude.texi (100%) rename {doc => src/doc}/parts_comments.txt (100%) rename fileio.c => src/fileio.c (100%) rename flip1.c => src/flip1.c (100%) rename flip1.h => src/flip1.h (100%) rename flip2.c => src/flip2.c (100%) rename flip2.h => src/flip2.h (100%) rename freebsd_ppi.h => src/freebsd_ppi.h (100%) rename ft245r.c => src/ft245r.c (100%) rename ft245r.h => src/ft245r.h (100%) rename jtag3.c => src/jtag3.c (100%) rename jtag3.h => src/jtag3.h (100%) rename jtag3_private.h => src/jtag3_private.h (100%) rename jtagmkI.c => src/jtagmkI.c (100%) rename jtagmkI.h => src/jtagmkI.h (100%) rename jtagmkII.c => src/jtagmkII.c (100%) rename jtagmkII.h => src/jtagmkII.h (100%) rename jtagmkII_private.h => src/jtagmkII_private.h (100%) rename jtagmkI_private.h => src/jtagmkI_private.h (100%) rename lexer.l => src/lexer.l (100%) rename libavrdude.h => src/libavrdude.h (100%) rename linux_ppdev.h => src/linux_ppdev.h (100%) rename linuxgpio.c => src/linuxgpio.c (100%) rename linuxgpio.h => src/linuxgpio.h (100%) rename linuxspi.c => src/linuxspi.c (100%) rename linuxspi.h => src/linuxspi.h (100%) rename lists.c => src/lists.c (100%) rename main.c => src/main.c (100%) rename my_ddk_hidsdi.h => src/my_ddk_hidsdi.h (100%) rename par.c => src/par.c (100%) rename par.h => src/par.h (100%) rename pgm.c => src/pgm.c (100%) rename pgm_type.c => src/pgm_type.c (100%) rename pickit2.c => src/pickit2.c (100%) rename pickit2.h => src/pickit2.h (100%) rename pindefs.c => src/pindefs.c (100%) rename ppi.c => src/ppi.c (100%) rename ppi.h => src/ppi.h (100%) rename ppiwin.c => src/ppiwin.c (100%) rename safemode.c => src/safemode.c (100%) rename ser_avrdoper.c => src/ser_avrdoper.c (100%) rename ser_posix.c => src/ser_posix.c (100%) rename ser_win32.c => src/ser_win32.c (100%) rename serbb.h => src/serbb.h (100%) rename serbb_posix.c => src/serbb_posix.c (100%) rename serbb_win32.c => src/serbb_win32.c (100%) rename solaris_ecpp.h => src/solaris_ecpp.h (100%) rename stk500.c => src/stk500.c (100%) rename stk500.h => src/stk500.h (100%) rename stk500_private.h => src/stk500_private.h (100%) rename stk500generic.c => src/stk500generic.c (100%) rename stk500generic.h => src/stk500generic.h (100%) rename stk500v2.c => src/stk500v2.c (100%) rename stk500v2.h => src/stk500v2.h (100%) rename stk500v2_private.h => src/stk500v2_private.h (100%) rename term.c => src/term.c (100%) rename term.h => src/term.h (100%) rename tpi.h => src/tpi.h (100%) rename update.c => src/update.c (100%) rename usb_hidapi.c => src/usb_hidapi.c (100%) rename usb_libusb.c => src/usb_libusb.c (100%) rename usbasp.c => src/usbasp.c (100%) rename usbasp.h => src/usbasp.h (100%) rename usbdevs.h => src/usbdevs.h (100%) rename usbtiny.c => src/usbtiny.c (100%) rename usbtiny.h => src/usbtiny.h (100%) rename {windows => src/windows}/.gitignore (100%) rename {windows => src/windows}/Makefile.am (100%) rename {windows => src/windows}/giveio.c (100%) rename {windows => src/windows}/giveio.sys (100%) rename {windows => src/windows}/install_giveio.bat (100%) mode change 100755 => 100644 rename {windows => src/windows}/loaddrv.c (100%) rename {windows => src/windows}/loaddrv.h (100%) rename {windows => src/windows}/remove_giveio.bat (100%) mode change 100755 => 100644 rename {windows => src/windows}/status_giveio.bat (100%) mode change 100755 => 100644 rename wiring.c => src/wiring.c (100%) rename wiring.h => src/wiring.h (100%) rename xbee.c => src/xbee.c (100%) rename xbee.h => src/xbee.h (100%) diff --git a/Makefile.am b/src/Makefile.am similarity index 100% rename from Makefile.am rename to src/Makefile.am diff --git a/arduino.c b/src/arduino.c similarity index 100% rename from arduino.c rename to src/arduino.c diff --git a/arduino.h b/src/arduino.h similarity index 100% rename from arduino.h rename to src/arduino.h diff --git a/avr.c b/src/avr.c similarity index 100% rename from avr.c rename to src/avr.c diff --git a/avr910.c b/src/avr910.c similarity index 100% rename from avr910.c rename to src/avr910.c diff --git a/avr910.h b/src/avr910.h similarity index 100% rename from avr910.h rename to src/avr910.h diff --git a/avrdude.1 b/src/avrdude.1 similarity index 100% rename from avrdude.1 rename to src/avrdude.1 diff --git a/avrdude.conf.in b/src/avrdude.conf.in similarity index 100% rename from avrdude.conf.in rename to src/avrdude.conf.in diff --git a/avrdude.h b/src/avrdude.h similarity index 100% rename from avrdude.h rename to src/avrdude.h diff --git a/avrdude.spec.in b/src/avrdude.spec.in similarity index 100% rename from avrdude.spec.in rename to src/avrdude.spec.in diff --git a/avrftdi.c b/src/avrftdi.c similarity index 100% rename from avrftdi.c rename to src/avrftdi.c diff --git a/avrftdi.h b/src/avrftdi.h similarity index 100% rename from avrftdi.h rename to src/avrftdi.h diff --git a/avrftdi_private.h b/src/avrftdi_private.h similarity index 100% rename from avrftdi_private.h rename to src/avrftdi_private.h diff --git a/avrftdi_tpi.c b/src/avrftdi_tpi.c similarity index 100% rename from avrftdi_tpi.c rename to src/avrftdi_tpi.c diff --git a/avrftdi_tpi.h b/src/avrftdi_tpi.h similarity index 100% rename from avrftdi_tpi.h rename to src/avrftdi_tpi.h diff --git a/avrpart.c b/src/avrpart.c similarity index 100% rename from avrpart.c rename to src/avrpart.c diff --git a/bitbang.c b/src/bitbang.c similarity index 100% rename from bitbang.c rename to src/bitbang.c diff --git a/bitbang.h b/src/bitbang.h similarity index 100% rename from bitbang.h rename to src/bitbang.h diff --git a/bootstrap b/src/bootstrap old mode 100755 new mode 100644 similarity index 100% rename from bootstrap rename to src/bootstrap diff --git a/buspirate.c b/src/buspirate.c similarity index 100% rename from buspirate.c rename to src/buspirate.c diff --git a/buspirate.h b/src/buspirate.h similarity index 100% rename from buspirate.h rename to src/buspirate.h diff --git a/butterfly.c b/src/butterfly.c similarity index 100% rename from butterfly.c rename to src/butterfly.c diff --git a/butterfly.h b/src/butterfly.h similarity index 100% rename from butterfly.h rename to src/butterfly.h diff --git a/config.c b/src/config.c similarity index 100% rename from config.c rename to src/config.c diff --git a/config.h b/src/config.h similarity index 100% rename from config.h rename to src/config.h diff --git a/config_gram.y b/src/config_gram.y similarity index 100% rename from config_gram.y rename to src/config_gram.y diff --git a/configure.ac b/src/configure.ac similarity index 100% rename from configure.ac rename to src/configure.ac diff --git a/confwin.c b/src/confwin.c similarity index 100% rename from confwin.c rename to src/confwin.c diff --git a/crc16.c b/src/crc16.c similarity index 100% rename from crc16.c rename to src/crc16.c diff --git a/crc16.h b/src/crc16.h similarity index 100% rename from crc16.h rename to src/crc16.h diff --git a/dfu.c b/src/dfu.c similarity index 100% rename from dfu.c rename to src/dfu.c diff --git a/dfu.h b/src/dfu.h similarity index 100% rename from dfu.h rename to src/dfu.h diff --git a/doc/.gitignore b/src/doc/.gitignore similarity index 100% rename from doc/.gitignore rename to src/doc/.gitignore diff --git a/doc/Makefile.am b/src/doc/Makefile.am similarity index 100% rename from doc/Makefile.am rename to src/doc/Makefile.am diff --git a/doc/TODO b/src/doc/TODO similarity index 100% rename from doc/TODO rename to src/doc/TODO diff --git a/doc/avrdude.texi b/src/doc/avrdude.texi similarity index 100% rename from doc/avrdude.texi rename to src/doc/avrdude.texi diff --git a/doc/parts_comments.txt b/src/doc/parts_comments.txt similarity index 100% rename from doc/parts_comments.txt rename to src/doc/parts_comments.txt diff --git a/fileio.c b/src/fileio.c similarity index 100% rename from fileio.c rename to src/fileio.c diff --git a/flip1.c b/src/flip1.c similarity index 100% rename from flip1.c rename to src/flip1.c diff --git a/flip1.h b/src/flip1.h similarity index 100% rename from flip1.h rename to src/flip1.h diff --git a/flip2.c b/src/flip2.c similarity index 100% rename from flip2.c rename to src/flip2.c diff --git a/flip2.h b/src/flip2.h similarity index 100% rename from flip2.h rename to src/flip2.h diff --git a/freebsd_ppi.h b/src/freebsd_ppi.h similarity index 100% rename from freebsd_ppi.h rename to src/freebsd_ppi.h diff --git a/ft245r.c b/src/ft245r.c similarity index 100% rename from ft245r.c rename to src/ft245r.c diff --git a/ft245r.h b/src/ft245r.h similarity index 100% rename from ft245r.h rename to src/ft245r.h diff --git a/jtag3.c b/src/jtag3.c similarity index 100% rename from jtag3.c rename to src/jtag3.c diff --git a/jtag3.h b/src/jtag3.h similarity index 100% rename from jtag3.h rename to src/jtag3.h diff --git a/jtag3_private.h b/src/jtag3_private.h similarity index 100% rename from jtag3_private.h rename to src/jtag3_private.h diff --git a/jtagmkI.c b/src/jtagmkI.c similarity index 100% rename from jtagmkI.c rename to src/jtagmkI.c diff --git a/jtagmkI.h b/src/jtagmkI.h similarity index 100% rename from jtagmkI.h rename to src/jtagmkI.h diff --git a/jtagmkII.c b/src/jtagmkII.c similarity index 100% rename from jtagmkII.c rename to src/jtagmkII.c diff --git a/jtagmkII.h b/src/jtagmkII.h similarity index 100% rename from jtagmkII.h rename to src/jtagmkII.h diff --git a/jtagmkII_private.h b/src/jtagmkII_private.h similarity index 100% rename from jtagmkII_private.h rename to src/jtagmkII_private.h diff --git a/jtagmkI_private.h b/src/jtagmkI_private.h similarity index 100% rename from jtagmkI_private.h rename to src/jtagmkI_private.h diff --git a/lexer.l b/src/lexer.l similarity index 100% rename from lexer.l rename to src/lexer.l diff --git a/libavrdude.h b/src/libavrdude.h similarity index 100% rename from libavrdude.h rename to src/libavrdude.h diff --git a/linux_ppdev.h b/src/linux_ppdev.h similarity index 100% rename from linux_ppdev.h rename to src/linux_ppdev.h diff --git a/linuxgpio.c b/src/linuxgpio.c similarity index 100% rename from linuxgpio.c rename to src/linuxgpio.c diff --git a/linuxgpio.h b/src/linuxgpio.h similarity index 100% rename from linuxgpio.h rename to src/linuxgpio.h diff --git a/linuxspi.c b/src/linuxspi.c similarity index 100% rename from linuxspi.c rename to src/linuxspi.c diff --git a/linuxspi.h b/src/linuxspi.h similarity index 100% rename from linuxspi.h rename to src/linuxspi.h diff --git a/lists.c b/src/lists.c similarity index 100% rename from lists.c rename to src/lists.c diff --git a/main.c b/src/main.c similarity index 100% rename from main.c rename to src/main.c diff --git a/my_ddk_hidsdi.h b/src/my_ddk_hidsdi.h similarity index 100% rename from my_ddk_hidsdi.h rename to src/my_ddk_hidsdi.h diff --git a/par.c b/src/par.c similarity index 100% rename from par.c rename to src/par.c diff --git a/par.h b/src/par.h similarity index 100% rename from par.h rename to src/par.h diff --git a/pgm.c b/src/pgm.c similarity index 100% rename from pgm.c rename to src/pgm.c diff --git a/pgm_type.c b/src/pgm_type.c similarity index 100% rename from pgm_type.c rename to src/pgm_type.c diff --git a/pickit2.c b/src/pickit2.c similarity index 100% rename from pickit2.c rename to src/pickit2.c diff --git a/pickit2.h b/src/pickit2.h similarity index 100% rename from pickit2.h rename to src/pickit2.h diff --git a/pindefs.c b/src/pindefs.c similarity index 100% rename from pindefs.c rename to src/pindefs.c diff --git a/ppi.c b/src/ppi.c similarity index 100% rename from ppi.c rename to src/ppi.c diff --git a/ppi.h b/src/ppi.h similarity index 100% rename from ppi.h rename to src/ppi.h diff --git a/ppiwin.c b/src/ppiwin.c similarity index 100% rename from ppiwin.c rename to src/ppiwin.c diff --git a/safemode.c b/src/safemode.c similarity index 100% rename from safemode.c rename to src/safemode.c diff --git a/ser_avrdoper.c b/src/ser_avrdoper.c similarity index 100% rename from ser_avrdoper.c rename to src/ser_avrdoper.c diff --git a/ser_posix.c b/src/ser_posix.c similarity index 100% rename from ser_posix.c rename to src/ser_posix.c diff --git a/ser_win32.c b/src/ser_win32.c similarity index 100% rename from ser_win32.c rename to src/ser_win32.c diff --git a/serbb.h b/src/serbb.h similarity index 100% rename from serbb.h rename to src/serbb.h diff --git a/serbb_posix.c b/src/serbb_posix.c similarity index 100% rename from serbb_posix.c rename to src/serbb_posix.c diff --git a/serbb_win32.c b/src/serbb_win32.c similarity index 100% rename from serbb_win32.c rename to src/serbb_win32.c diff --git a/solaris_ecpp.h b/src/solaris_ecpp.h similarity index 100% rename from solaris_ecpp.h rename to src/solaris_ecpp.h diff --git a/stk500.c b/src/stk500.c similarity index 100% rename from stk500.c rename to src/stk500.c diff --git a/stk500.h b/src/stk500.h similarity index 100% rename from stk500.h rename to src/stk500.h diff --git a/stk500_private.h b/src/stk500_private.h similarity index 100% rename from stk500_private.h rename to src/stk500_private.h diff --git a/stk500generic.c b/src/stk500generic.c similarity index 100% rename from stk500generic.c rename to src/stk500generic.c diff --git a/stk500generic.h b/src/stk500generic.h similarity index 100% rename from stk500generic.h rename to src/stk500generic.h diff --git a/stk500v2.c b/src/stk500v2.c similarity index 100% rename from stk500v2.c rename to src/stk500v2.c diff --git a/stk500v2.h b/src/stk500v2.h similarity index 100% rename from stk500v2.h rename to src/stk500v2.h diff --git a/stk500v2_private.h b/src/stk500v2_private.h similarity index 100% rename from stk500v2_private.h rename to src/stk500v2_private.h diff --git a/term.c b/src/term.c similarity index 100% rename from term.c rename to src/term.c diff --git a/term.h b/src/term.h similarity index 100% rename from term.h rename to src/term.h diff --git a/tpi.h b/src/tpi.h similarity index 100% rename from tpi.h rename to src/tpi.h diff --git a/update.c b/src/update.c similarity index 100% rename from update.c rename to src/update.c diff --git a/usb_hidapi.c b/src/usb_hidapi.c similarity index 100% rename from usb_hidapi.c rename to src/usb_hidapi.c diff --git a/usb_libusb.c b/src/usb_libusb.c similarity index 100% rename from usb_libusb.c rename to src/usb_libusb.c diff --git a/usbasp.c b/src/usbasp.c similarity index 100% rename from usbasp.c rename to src/usbasp.c diff --git a/usbasp.h b/src/usbasp.h similarity index 100% rename from usbasp.h rename to src/usbasp.h diff --git a/usbdevs.h b/src/usbdevs.h similarity index 100% rename from usbdevs.h rename to src/usbdevs.h diff --git a/usbtiny.c b/src/usbtiny.c similarity index 100% rename from usbtiny.c rename to src/usbtiny.c diff --git a/usbtiny.h b/src/usbtiny.h similarity index 100% rename from usbtiny.h rename to src/usbtiny.h diff --git a/windows/.gitignore b/src/windows/.gitignore similarity index 100% rename from windows/.gitignore rename to src/windows/.gitignore diff --git a/windows/Makefile.am b/src/windows/Makefile.am similarity index 100% rename from windows/Makefile.am rename to src/windows/Makefile.am diff --git a/windows/giveio.c b/src/windows/giveio.c similarity index 100% rename from windows/giveio.c rename to src/windows/giveio.c diff --git a/windows/giveio.sys b/src/windows/giveio.sys similarity index 100% rename from windows/giveio.sys rename to src/windows/giveio.sys diff --git a/windows/install_giveio.bat b/src/windows/install_giveio.bat old mode 100755 new mode 100644 similarity index 100% rename from windows/install_giveio.bat rename to src/windows/install_giveio.bat diff --git a/windows/loaddrv.c b/src/windows/loaddrv.c similarity index 100% rename from windows/loaddrv.c rename to src/windows/loaddrv.c diff --git a/windows/loaddrv.h b/src/windows/loaddrv.h similarity index 100% rename from windows/loaddrv.h rename to src/windows/loaddrv.h diff --git a/windows/remove_giveio.bat b/src/windows/remove_giveio.bat old mode 100755 new mode 100644 similarity index 100% rename from windows/remove_giveio.bat rename to src/windows/remove_giveio.bat diff --git a/windows/status_giveio.bat b/src/windows/status_giveio.bat old mode 100755 new mode 100644 similarity index 100% rename from windows/status_giveio.bat rename to src/windows/status_giveio.bat diff --git a/wiring.c b/src/wiring.c similarity index 100% rename from wiring.c rename to src/wiring.c diff --git a/wiring.h b/src/wiring.h similarity index 100% rename from wiring.h rename to src/wiring.h diff --git a/xbee.c b/src/xbee.c similarity index 100% rename from xbee.c rename to src/xbee.c diff --git a/xbee.h b/src/xbee.h similarity index 100% rename from xbee.h rename to src/xbee.h From e6427d3420fa4af5d94f42b418d0cca36e67fb4f Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 17 Dec 2021 22:47:12 +0100 Subject: [PATCH 09/14] Add AUTHORS file back in --- AUTHORS | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 AUTHORS diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..b01a9c12 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,31 @@ +AVRDUDE was written by: + + Brian S. Dean + +Contributors: + + Joerg Wunsch + Eric Weddington + Jan-Hinnerk Reichert + Alex Shepherd + Martin Thomas + Theodore A. Roth + Juliane Holzt + Colin O'Flynn + Thomas Fischl + David Hoerl + Michal Ludvig + Darell Tan + Wolfgang Moser + Ville Voipio + Hannes Weisbach + Doug Springer + Brett Hagman + Rene Liebscher + Jim Paris + Jan Egil Ruud + David Mosberger + David Sainty + +For minor contributions, please see the ChangeLog files. + From 062fa8c77b0d19a867b96df6519652596c3a7170 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 17 Dec 2021 22:52:27 +0100 Subject: [PATCH 10/14] Add link of original AVRDUDE repository to README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fac4a7a..e493bc69 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,10 @@ programming instruction to the AVR chip regardless of whether AVRDUDE implements that specific feature of a particular chip. AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch, -with the help of [various contributors](/avrdudes/avrdude/graphs/contributors). +with the help of [various contributors](https://github.com/avrdudes/avrdude/graphs/contributors). + +The latest version of AVRDUDE is always available here:\ + ## Getting AVRDUDE for Windows From 3a8af359f358541a87d190199cea324fc199ff4f Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sat, 18 Dec 2021 22:32:50 +0100 Subject: [PATCH 11/14] Update toplevel files. Integrate old INSTALL into README.md, both files had a lot of (potential) overlap. Add template for new entries in NEWS, targetting next release. Bump version number to 6.99-20211218 Tentatively, with the Github migration and all ongoing code restructuring, we aim for a version 7.0 release at some point in the future. --- INSTALL | 55 +--------------------------- NEWS | 22 +++++++++++- README.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++-- src/configure.ac | 2 +- 4 files changed, 114 insertions(+), 58 deletions(-) diff --git a/INSTALL b/INSTALL index e39787f8..971f2e3b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,57 +1,4 @@ Installation Instructions ************************* -Use `./configure; make all; sudo make install' for Unix-like systems. - -Depending on your requirements, the following prerequisites are -needed: - -* libelf including header files (for directly reading ELF files) -* libusb 0.1 or 1.0 (or compatible), including header files -* libftdi or libftdi1 (for direct access to FTDI devices) -* libhidapi or libhid (for access to recent Atmel/Microchip dongles) - -If the header and/or library files for one of those are found in -non-default locations, you can add them to configure, e.g. - -`./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib' - -as an example for MacOS using Macports. MacOS Brew requires - -`./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/Cellar' - -instead. (LDFLAGS and CPPFLAGS can also be supplied as environment -variables to configure.) - -At the end of the configure script, a configuration summary is issued, -like this: - -Configuration summary: ----------------------- -DO HAVE libelf -DO HAVE libusb -DO HAVE libusb_1_0 -DO HAVE libftdi1 -DON'T HAVE libftdi -DON'T HAVE libhid -DO HAVE libhidapi -DO HAVE pthread -DISABLED doc -DISABLED parport -DISABLED linuxgpio -DISABLED linuxspi - -Make sure all the features you are interested in have been found. - -For BSD-like systems, using GNU make (gmake) is not mandatory but -appears to cause less troubles with the quite complex dependency graph -that might be produced by autoconf/automake. - -For Windows, right now, a toolset like MinGW is required to compile -AVRDUDE. - -Obviously, a working C compiler is needed. Tested compilers so far -include GCC (in various versions) and Clang. The compiler needs to -support (at least) C99 language level. For MacOS, either Xcode or the -(smaller) Xcode Command Line tools are needed, for Windows, some port -of GCC that supports generating native Windows executables. +See README.md. diff --git a/NEWS b/NEWS index 36a360f4..d743f081 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,29 @@ $Id$ Approximate change log for AVRDUDE by version. -(For more detailed changes, see the ChangeLog file.) +(For detailed changes, see the version control system logs.) ---------------------------------------------------------------------- +Changes since version 6.4: + + * Major changes compared to the previous version: + + + * New devices supported: + + + * New programmers supported: + + + * Bugfixes: + + + * Patches: + + + * Internals: + + Version 6.4: * Major changes compared to the previous version: diff --git a/README.md b/README.md index e493bc69..616949db 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,14 @@ programming instruction to the AVR chip regardless of whether AVRDUDE implements that specific feature of a particular chip. AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch, -with the help of [various contributors](https://github.com/avrdudes/avrdude/graphs/contributors). +with the help of [various contributors](./AUTHORS). The latest version of AVRDUDE is always available here:\ ## Getting AVRDUDE for Windows -To get AVRDUDE for Windows, install the latest version from the [Releases](./releases) page: +To get AVRDUDE for Windows, install the latest version from the [Releases](http://download.savannah.gnu.org/releases/avrdude/) page. Alternatively, you may [build AVRDUDE](#building-avrdude-for-windows) yourself from source. @@ -30,6 +30,12 @@ sudo apt-get install avrdude Alternatively, you may [build AVRDUDE](#building-avrdude-for-linux) yourself from source. +## Getting AVRDUDE for MacOS + +On MacOS, AVRDUDE can be installed through Mac Ports. + +Alternatively, you may [build AVRDUDE](#building-avrdude-for-macos) yourself from source. + ## Using AVRDUDE AVRDUDE is a command-line application. Run the command `avrdude` without any arguments for a list of options. @@ -50,6 +56,59 @@ avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex: There are many different programmers and options that may be required for the programming to succeed. For more information, refer to the [AVRDUDE documentation](#todo). +## General build instructions + +### Prerequisites + +Depending on your requirements, the following prerequisites are +needed: + +* libelf including header files (for directly reading ELF files) +* libusb 0.1 or 1.0 (or compatible), including header files +* libftdi or libftdi1 (for direct access to FTDI devices) +* libhidapi or libhid (for access to recent Atmel/Microchip dongles) + +### Building + +All source code is located in the `src/` subdirectory. Thus all +instructions are relative to that directory. + +Source-code releases contain an up-to-date configure script that +can be run to generate the required Makefiles: + +```console +cd src && ./configure && make && sudo make install +``` +At the end of the configure script, a configuration summary is issued, +like this: + +```console +Configuration summary: +---------------------- +DO HAVE libelf +DO HAVE libusb +DO HAVE libusb_1_0 +DO HAVE libftdi1 +DON'T HAVE libftdi +DON'T HAVE libhid +DO HAVE libhidapi +DO HAVE pthread +DISABLED doc +DISABLED parport +DISABLED linuxgpio +DISABLED linuxspi +``` + +Make sure all the features you are interested in have been found. + +Building the development source tree might possibly require to +re-generate the configure script using the autoconf/automake +tools. This can be done using the `bootstrap` script: + +```console +cd src && ./bootstrap +``` + ## Building AVRDUDE for Windows ### Windows Prerequisites @@ -95,6 +154,36 @@ cd doc make all ``` +## Building AVRDUDE for MacOS + +### Prerequisites + +The following things are needed to build AVRDUDE on MacOS: + +* a C compiler; either full XCode, or the XCode Command Line tools +* autoconf, automake, libtool, hidapi, libftdi1, libusb, libelf; + they can be installed e.g. from Mac Ports using +```console +port install autoconf automake \ + libtool hidapi libftdi1 libusb libelf +``` + +### Compilation + +Depending on the location of the prerequisites, the `CPPFLAGS` and +`LDFLAGS` variables need to be set accordingly. Mac Ports installs +everything under `/opt/local`, so use + +```console +./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib +``` + +MacOS Brew requires + +```console +./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/Cellar +``` + ## License AVRDUDE is licensed under the [GNU GPLv2](./COPYING). diff --git a/src/configure.ac b/src/configure.ac index fa204a72..f8b19f47 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -23,7 +23,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.60) -AC_INIT(avrdude, 6.4, avrdude-dev@nongnu.org) +AC_INIT(avrdude, 6.99-20211218, avrdude-dev@nongnu.org) AC_CANONICAL_BUILD AC_CANONICAL_HOST From 868895e2e049ce8c89e90b6a66cf5109a61bf0f2 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sun, 19 Dec 2021 00:35:35 +0100 Subject: [PATCH 12/14] Make `bootstrap' executable That bit appears to get lost during transition from SVN. --- src/bootstrap | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/bootstrap diff --git a/src/bootstrap b/src/bootstrap old mode 100644 new mode 100755 From 60cb5480756025b7354b01fe554cf959a1966bbc Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Fri, 10 Dec 2021 22:41:26 +0100 Subject: [PATCH 13/14] Remove 'windows' folder with giveio.sys driver --- src/Makefile.am | 5 +- src/configure.ac | 5 +- src/doc/avrdude.texi | 91 +------ src/windows/.gitignore | 3 - src/windows/Makefile.am | 57 ---- src/windows/giveio.c | 168 ------------ src/windows/giveio.sys | Bin 5248 -> 0 bytes src/windows/install_giveio.bat | 34 --- src/windows/loaddrv.c | 461 --------------------------------- src/windows/loaddrv.h | 20 -- src/windows/remove_giveio.bat | 14 - src/windows/status_giveio.bat | 12 - 12 files changed, 5 insertions(+), 865 deletions(-) delete mode 100644 src/windows/.gitignore delete mode 100644 src/windows/Makefile.am delete mode 100644 src/windows/giveio.c delete mode 100644 src/windows/giveio.sys delete mode 100644 src/windows/install_giveio.bat delete mode 100644 src/windows/loaddrv.c delete mode 100644 src/windows/loaddrv.h delete mode 100644 src/windows/remove_giveio.bat delete mode 100644 src/windows/status_giveio.bat diff --git a/src/Makefile.am b/src/Makefile.am index 4db24633..5e293d84 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -41,14 +41,13 @@ CLEANFILES = \ BUILT_SOURCES = $(CLEANFILES) -#SUBDIRS = doc @WINDOWS_DIRS@ -#DIST_SUBDIRS = doc windows +#SUBDIRS = doc +#DIST_SUBDIRS = doc # . lets build this directory before the following in SUBDIRS SUBDIRS = . # doc comes here, and we want to use the built avrdude to generate the parts list SUBDIRS += @SUBDIRS_AC@ -SUBDIRS += @WINDOWS_DIRS@ DIST_SUBDIRS = @DIST_SUBDIRS_AC@ AM_YFLAGS = -d diff --git a/src/configure.ac b/src/configure.ac index f8b19f47..df74ea14 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -348,7 +348,7 @@ AC_ARG_ENABLE( esac], [enabled_linuxspi=no]) -DIST_SUBDIRS_AC='doc windows' +DIST_SUBDIRS_AC='doc' if test "$enabled_doc" = "yes"; then SUBDIRS_AC='doc' @@ -505,15 +505,12 @@ case $target in LDFLAGS="${LDFLAGS} -static" fi - WINDOWS_DIRS="windows" CFLAGS="${CFLAGS} -DWIN32NATIVE" ;; esac -AC_SUBST(WINDOWS_DIRS,$WINDOWS_DIRS) AC_CONFIG_FILES([ doc/Makefile - windows/Makefile avrdude.spec Makefile ]) diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index be645832..d6009d3c 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -2108,9 +2108,7 @@ such as @option{--prefix}. * Windows Installation:: * Windows Configuration Files:: * Windows Port Names:: -* Using the parallel port:: * Documentation:: -* Credits.:: @end menu @c @@ -2213,7 +2211,7 @@ The directories that are listed in the PATH environment variable. @c @c Node @c -@node Windows Port Names, Using the parallel port, Windows Configuration Files, Windows +@node Windows Port Names, Windows Configuration Files, Windows @subsection Port Names @menu @@ -2265,71 +2263,8 @@ language notation (i. e., hexadecimal values are prefixed by @code{0x}). @c @c Node -@c -@node Using the parallel port, Documentation, Windows Port Names, Windows -@subsection Using the parallel port - -@menu -* Windows NT/2K/XP:: -* Windows 95/98:: -@end menu - @c -@c Node -@c -@node Windows NT/2K/XP, Windows 95/98, Using the parallel port, Using the parallel port -@subsubsection Windows NT/2K/XP - -@noindent -On Windows NT, 2000, and XP user applications cannot directly access the -parallel port. However, kernel mode drivers can access the parallel port. -giveio.sys is a driver that can allow user applications to set the state -of the parallel port pins. - -Before using AVRDUDE, the giveio.sys driver must be loaded. The -accompanying command-line program, loaddrv.exe, can do just that. - -To make things even easier there are 3 batch files that are also -included: - -@enumerate -@item install_giveio.bat -Install and start the giveio driver. - -@item status_giveio.bat -Check on the status of the giveio driver. - -@item remove_giveio.bat -Stop and remove the giveio driver from memory. -@end enumerate - -These 3 batch files calls the loaddrv program with various options to -install, start, stop, and remove the driver. - -When you first execute install_giveio.bat, loaddrv.exe and giveio.sys -must be in the current directory. When install_giveio.bat is executed it -will copy giveio.sys from your current directory to your Windows -directory. It will then load the driver from the Windows directory. This -means that after the first time install_giveio is executed, you should -be able to subsequently execute the batch file from any directory and have -it successfully start the driver. - -Note that you must have administrator privilege to load the giveio driver. - -@c -@c Node -@c -@node Windows 95/98, , Windows NT/2K/XP, Using the parallel port -@subsubsection Windows 95/98 - -@noindent -On Windows 95 and 98 the giveio.sys driver is not needed. - - -@c -@c Node -@c -@node Documentation, Credits., Using the parallel port, Windows +@node Documentation, Windows @subsection Documentation @noindent @@ -2343,28 +2278,6 @@ Note that these locations can be altered by various configure options such as @option{--prefix} and @option{--datadir}. -@c -@c Node -@c -@node Credits., , Documentation, Windows -@subsection Credits. - -@noindent -Thanks to: - -@itemize @bullet -@item -Dale Roberts for the giveio driver. - -@item -Paula Tomlinson for the loaddrv sources. - -@item -Chris Liechti for modifying loaddrv to be command -line driven and for writing the batch files. - -@end itemize - @c @c Node @c diff --git a/src/windows/.gitignore b/src/windows/.gitignore deleted file mode 100644 index e9955884..00000000 --- a/src/windows/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.deps -Makefile -Makefile.in diff --git a/src/windows/Makefile.am b/src/windows/Makefile.am deleted file mode 100644 index 9890fd05..00000000 --- a/src/windows/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ -# -# avrdude - A Downloader/Uploader for AVR device programmers -# Copyright (C) 2003 Theodore A. Roth -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -# -# $Id$ -# - -# -# This Makefile will only be used on windows based systems. -# - -local_install_list = \ - giveio.sys \ - install_giveio.bat \ - remove_giveio.bat \ - status_giveio.bat - -EXTRA_DIST = \ - giveio.c \ - $(local_install_list) - -bin_PROGRAMS = loaddrv - -loaddrv_SOURCES = \ - loaddrv.c \ - loaddrv.h - -install-exec-local: - $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(local_install_list)'; for file in $$list; do \ - echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) \ - $(srcdir)/$$file $(DESTDIR)$(bindir)/$$file"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $(srcdir)/$$file \ - $(DESTDIR)$(bindir)/$$file; \ - done - -uninstall-local: - @for file in $(local_install_list); do \ - echo " rm -f $(DESTDIR)$(bindir)/$$file"; \ - rm -f $(DESTDIR)$(bindir)/$$file; \ - done - diff --git a/src/windows/giveio.c b/src/windows/giveio.c deleted file mode 100644 index f752a293..00000000 --- a/src/windows/giveio.c +++ /dev/null @@ -1,168 +0,0 @@ -/********************************************************************* - -Author: Dale Roberts -Date: 8/30/95 -Program: GIVEIO.SYS -Compile: Use DDK BUILD facility - -Purpose: Give direct port I/O access to a user mode process. - -*********************************************************************/ -#include - -/* - * The name of our device driver. - */ -#define DEVICE_NAME_STRING L"giveio" - -/* - * This is the "structure" of the IOPM. It is just a simple - * character array of length 0x2000. - * - * This holds 8K * 8 bits -> 64K bits of the IOPM, which maps the - * entire 64K I/O space of the x86 processor. Any 0 bits will give - * access to the corresponding port for user mode processes. Any 1 - * bits will disallow I/O access to the corresponding port. - */ -#define IOPM_SIZE 0x2000 -typedef UCHAR IOPM[IOPM_SIZE]; - -/* - * This will hold simply an array of 0's which will be copied - * into our actual IOPM in the TSS by Ke386SetIoAccessMap(). - * The memory is allocated at driver load time. - */ -IOPM *IOPM_local = 0; - -/* - * These are the two undocumented calls that we will use to give - * the calling process I/O access. - * - * Ke386IoSetAccessMap() copies the passed map to the TSS. - * - * Ke386IoSetAccessProcess() adjusts the IOPM offset pointer so that - * the newly copied map is actually used. Otherwise, the IOPM offset - * points beyond the end of the TSS segment limit, causing any I/O - * access by the user mode process to generate an exception. - */ -void Ke386SetIoAccessMap(int, IOPM *); -void Ke386QueryIoAccessMap(int, IOPM *); -void Ke386IoSetAccessProcess(PEPROCESS, int); - -/********************************************************************* - Release any allocated objects. -*********************************************************************/ -VOID GiveioUnload(IN PDRIVER_OBJECT DriverObject) -{ - WCHAR DOSNameBuffer[] = L"\\DosDevices\\" DEVICE_NAME_STRING; - UNICODE_STRING uniDOSString; - - if(IOPM_local) - MmFreeNonCachedMemory(IOPM_local, sizeof(IOPM)); - - RtlInitUnicodeString(&uniDOSString, DOSNameBuffer); - IoDeleteSymbolicLink (&uniDOSString); - IoDeleteDevice(DriverObject->DeviceObject); -} - -/********************************************************************* - Set the IOPM (I/O permission map) of the calling process so that it -is given full I/O access. Our IOPM_local[] array is all zeros, so -the IOPM will be all zeros. If OnFlag is 1, the process is given I/O -access. If it is 0, access is removed. -*********************************************************************/ -VOID SetIOPermissionMap(int OnFlag) -{ - Ke386IoSetAccessProcess(PsGetCurrentProcess(), OnFlag); - Ke386SetIoAccessMap(1, IOPM_local); -} - -void GiveIO(void) -{ - SetIOPermissionMap(1); -} - -/********************************************************************* - Service handler for a CreateFile() user mode call. - - This routine is entered in the driver object function call table by -the DriverEntry() routine. When the user mode application calls -CreateFile(), this routine gets called while still in the context of -the user mode application, but with the CPL (the processor's Current -Privelege Level) set to 0. This allows us to do kernel mode -operations. GiveIO() is called to give the calling process I/O -access. All the user mode application needs do to obtain I/O access -is open this device with CreateFile(). No other operations are -required. -*********************************************************************/ -NTSTATUS GiveioCreateDispatch( - IN PDEVICE_OBJECT DeviceObject, - IN PIRP Irp - ) -{ - GiveIO(); // give the calling process I/O access - - Irp->IoStatus.Information = 0; - Irp->IoStatus.Status = STATUS_SUCCESS; - IoCompleteRequest(Irp, IO_NO_INCREMENT); - return STATUS_SUCCESS; -} - -/********************************************************************* - Driver Entry routine. - - This routine is called only once after the driver is initially -loaded into memory. It allocates everything necessary for the -driver's operation. In our case, it allocates memory for our IOPM -array, and creates a device which user mode applications can open. -It also creates a symbolic link to the device driver. This allows -a user mode application to access our driver using the \\.\giveio -notation. -*********************************************************************/ -NTSTATUS DriverEntry( - IN PDRIVER_OBJECT DriverObject, - IN PUNICODE_STRING RegistryPath - ) -{ - PDEVICE_OBJECT deviceObject; - NTSTATUS status; - WCHAR NameBuffer[] = L"\\Device\\" DEVICE_NAME_STRING; - WCHAR DOSNameBuffer[] = L"\\DosDevices\\" DEVICE_NAME_STRING; - UNICODE_STRING uniNameString, uniDOSString; - - // - // Allocate a buffer for the local IOPM and zero it. - // - IOPM_local = MmAllocateNonCachedMemory(sizeof(IOPM)); - if(IOPM_local == 0) - return STATUS_INSUFFICIENT_RESOURCES; - RtlZeroMemory(IOPM_local, sizeof(IOPM)); - - // - // Set up device driver name and device object. - // - RtlInitUnicodeString(&uniNameString, NameBuffer); - RtlInitUnicodeString(&uniDOSString, DOSNameBuffer); - - status = IoCreateDevice(DriverObject, 0, - &uniNameString, - FILE_DEVICE_UNKNOWN, - 0, FALSE, &deviceObject); - - if(!NT_SUCCESS(status)) - return status; - - status = IoCreateSymbolicLink (&uniDOSString, &uniNameString); - - if (!NT_SUCCESS(status)) - return status; - - // - // Initialize the Driver Object with driver's entry points. - // All we require are the Create and Unload operations. - // - DriverObject->MajorFunction[IRP_MJ_CREATE] = GiveioCreateDispatch; - DriverObject->DriverUnload = GiveioUnload; - return STATUS_SUCCESS; -} - diff --git a/src/windows/giveio.sys b/src/windows/giveio.sys deleted file mode 100644 index 62a0cb66ffda02c19a6db878b32f5b4342131258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5248 zcmd^CZ)j6j6hCRBMmIP2ry@?=)5U#~P?J_Q~DG1vK2QqXUF6f|xRgirU2M)?mD6AiZb|Ay;?VNYtea$mB>b8%& z?Y-x|-#Pc3bI*JC+>_W#??OEQc(I!%z&WJUWNWK{KQQMbgI#l3I`=-F;GC%PN7@t5^AL)$ulfsAn1c-jvxkwH)A8 z#Aji-=OIsBaKZynu495Xk;>T1BFvhJ<_CZ&M^rlW}Q4WrDP4+WVAE9U+`pa=Mb!G61{qnPRZtrbwJ71MEzkUy09? z^T*~J_r7q!@AW|G$d!dtgQt!?FX00ij}3za@CiM{&4wE!&~~L1yB+T_8)oS#b{l8c zaW)zAnFqaQ!!4Yr_D$Y=<)Rl%!;i={MB;M`Xvl0PMI)ZMS$se~&VDvc^U~Y`j+0Tp zFH{cwbUeJ_czB)Ju!y3e@3&Q zSsq()?gNb5Z|bDAp-}le_y86@FSX5-VvF&~X4*uLd9@TfS!$c_iPP*(DY4iyIp!My z{M+0+0(;GdJC?TBH<#KLOR;&{{cVPT&EL{BUOSdTr3eK+<2?1!-Xu%E_$0sB?# zbJ+il{6*;0B1%p%l!!8}W)y%+4$^lxKcMB*OjIo#0N7a9Yvei$s*xzD8O&yVhOQQd z0CZ0*->xf4msV&^XNHw*Ov!8dVeoqPD4`wO`xK*73uiJ)u^3B_LLEapHN+Vj*EM3o zWwhI&7_DQvt`rQ8{)y;dtCk-n7kib1V@eUz#|1=NbtP>mZXdsKaK0NAy$k2?NTclC z9u^F(ct9`Y0?HxWcXew*s4Mt#a5$(1j|ATiz85?d{4#hwxDYghYeP?kwuW|w)X;08 zw?d`RN1>CLc^|w{zL#uqqLc$EzgamB-(_G>&2gvx!ux5cuJyTOHl0(F+3ZL%s}?c( z1IZzETv0Wf1Tw(0A!S1Py6ZjFpB2x*WRVU=y(fhuB?{IE<9hs#o@Y7RqLi??o{t?p z5~54?m>y+dY{=g}wH|;DX1#~5BH~c<0&djN^PQsy^Nb_IW`Qizb4I9Vxl7Nqqh}-P zAx~MW^rtM;<8$euo0rzqd%nVPm92&QV_i-Vb>c&|mKs@QH;#WhooQAe3?2qMXKTt*dEkQK-jl>wBS$+ZN?eW@~LtTa=rb42|OVMftp1#%+soIg=6C zvg@Kx@z}Djj?RnFR`a~jmV58t3T52>&^^NZ!QSOG%;i!A`&j8n~@>U;EdmK47r8~&*}_0i)6x%219;C z1@F6%N0Gs^1e19KZSi-?kSRoFU8^o2!oO!Gvko=$)5MTwMEH4U$Ox|DZ;&Bdk??%T zkX=Z4HfG2m5`GsjaWrI1Ad+&d;B_6F}DKNZoj=Fr;;hJIMy0jUnF z0!b8dS~@E?K}$=jRZeYd?T|a-(U{!g4~JWVG)8F9Xec_53eCo8P-)1}U}2UBTQ}se zEkTQINn5&z$-4|Gsx`agik?@CMO7Wsy^d;3$7w!YTh z&Uk-!?~?G{VXPIvnxSKntr5TqrZ|k^0M-bd=ywkVjpG&Js`V(S@ z=--v-+LMZe`@>cxV*QTxUVkT$RPl#hau9#?@t+>W!$m7u{BH)jvm|@Bn2@a-i+;E8 PM)wu}O~A4%=P>#=i9DqO diff --git a/src/windows/install_giveio.bat b/src/windows/install_giveio.bat deleted file mode 100644 index 4a02b093..00000000 --- a/src/windows/install_giveio.bat +++ /dev/null @@ -1,34 +0,0 @@ -@set DIRVERNAME=giveio -@set DIRVERFILE=%DIRVERNAME%.sys - -@echo Copying the driver to the windows directory -@echo target file: %WINDIR%\%DIRVERFILE% -@copy %DIRVERFILE% %WINDIR%\%DIRVERFILE% - -@echo Remove a running service if needed... -@loaddrv stop %DIRVERNAME% >NUL -@if errorlevel 2 goto install - -@loaddrv remove %DIRVERNAME% >NUL -@if errorlevel 1 goto install - -:install -@echo Installing Windows NT/2k/XP driver: %DIRVERNAME% - -@loaddrv install %DIRVERNAME% %WINDIR%\%DIRVERFILE% -@if errorlevel 3 goto error - -@loaddrv start %DIRVERNAME% -@if errorlevel 1 goto error - -@loaddrv starttype %DIRVERNAME% auto -@if errorlevel 1 goto error - -@echo Success -@goto exit - -:error -@echo ERROR: Installation of %DIRVERNAME% failed - -:exit - diff --git a/src/windows/loaddrv.c b/src/windows/loaddrv.c deleted file mode 100644 index e6d55c66..00000000 --- a/src/windows/loaddrv.c +++ /dev/null @@ -1,461 +0,0 @@ -// loaddrv.c - Dynamic driver install/start/stop/remove -// based on Paula Tomlinson's LOADDRV program. -// She describes it in her May 1995 article in Windows/DOS Developer's -// Journal (now Windows Developer's Journal). -// Modified by Chris Liechti -// I removed the old/ugly dialog, it now accepts command line options and -// prints error messages with textual description from the OS. - -#include -#include -#include -#include -#include -#include "loaddrv.h" - -// globals -SC_HANDLE hSCMan = NULL; - -//get ext messages for windows error codes: -void DisplayErrorText(DWORD dwLastError) { - LPSTR MessageBuffer; - DWORD dwBufferLength; - - DWORD dwFormatFlags = FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_IGNORE_INSERTS | - FORMAT_MESSAGE_FROM_SYSTEM; - - dwBufferLength = FormatMessageA( - dwFormatFlags, - NULL, // module to get message from (NULL == system) - dwLastError, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // default language - (LPSTR) &MessageBuffer, - 0, - NULL - ); - if (dwBufferLength) { - // Output message - puts(MessageBuffer); - // Free the buffer allocated by the system. - LocalFree(MessageBuffer); - } -} - -int exists(char *filename) { - FILE * pFile; - pFile = fopen(filename, "r"); - if (pFile) fclose(pFile); - return pFile != NULL; -} - -void usage(void) { - printf("USGAE: loaddrv command drivername [args...]\n\n" - "NT/2k/XP Driver and Service modification tool.\n" - "(C)2002 Chris Liechti \n\n" - "Suported commands:\n\n" - " install [fullpathforinstall]\n" - " Install new service. Loaded from given path. If path is not present,\n" - " the local directory is searched for a .sys file. If the service\n" - " already exists, it must be removed first.\n" - " start\n" - " Start service. It must be installed in advance.\n" - " stop\n" - " Stop service.\n" - " remove\n" - " Remove service. It must be stopped in advance.\n" - " status\n" - " Show status information about service.\n" - " starttype auto|manual|system|disable\n" - " Change startup type to the given type.\n" - ); -} - -int main(int argc, char *argv[]) { - DWORD status = 0; - int level = 0; - if (argc < 3) { - usage(); - exit(1); - } - LoadDriverInit(); - if (strcmp(argv[1], "start") == 0) { - printf("starting %s... ", argv[2]); - status = DriverStart(argv[2]); - if ( status != OKAY) { - printf("start failed (status %ld):\n", status); - level = 1; - } else { - printf("ok.\n"); - } - } else if (strcmp(argv[1], "stop") == 0) { - printf("stoping %s... ", argv[2]); - status = DriverStop(argv[2]); - if ( status != OKAY) { - printf("stop failed (status %ld):\n", status); - level = 1; - } else { - printf("ok.\n"); - } - } else if (strcmp(argv[1], "install") == 0) { - char path[MAX_PATH*2]; - if (argc<4) { - char cwd[MAX_PATH]; - getcwd(cwd, sizeof cwd); - sprintf(path, "%s\\%s.sys", cwd, argv[2]); - } else { - strncpy(path, argv[3], MAX_PATH); - } - if (exists(path)) { - printf("installing %s from %s... ", argv[2], path); - status = DriverInstall(path, argv[2]); - if ( status != OKAY) { - printf("install failed (status %ld):\n", status); - level = 2; - } else { - printf("ok.\n"); - } - } else { - printf("install failed, file not found: %s\n", path); - level = 1; - } - } else if (strcmp(argv[1], "remove") == 0) { - printf("removing %s... ", argv[2]); - status = DriverRemove(argv[2]); - if ( status != OKAY) { - printf("remove failed (status %ld):\n", status); - level = 1; - } else { - printf("ok.\n"); - } - } else if (strcmp(argv[1], "status") == 0) { - printf("status of %s:\n", argv[2]); - status = DriverStatus(argv[2]); - if ( status != OKAY) { - printf("stat failed (status %ld):\n", status); - level = 1; - } else { - printf("ok.\n"); - } - } else if (strcmp(argv[1], "starttype") == 0) { - if (argc < 4) { - printf("Error: need start type (string) as argument.\n"); - level = 2; - } else { - DWORD type = 0; - printf("set start type of %s to %s... ", argv[2], argv[3]); - if (strcmp(argv[1], "boot") == 0) { - type = SERVICE_BOOT_START; - } else if (strcmp(argv[3], "system") == 0) { - type = SERVICE_SYSTEM_START; - } else if (strcmp(argv[3], "auto") == 0) { - type = SERVICE_AUTO_START; - } else if (strcmp(argv[3], "manual") == 0) { - type = SERVICE_DEMAND_START; - } else if (strcmp(argv[3], "disabled") == 0) { - type = SERVICE_DISABLED; - } else { - printf("unknown type\n"); - level = 1; - } - if (level == 0) { - status = DriverStartType(argv[2], type); - if ( status != OKAY) { - printf("set start type failed (status %ld):\n", status); - level = 1; - } else { - printf("ok.\n"); - } - } - } - } else { - usage(); - level = 1; - } - if (status) DisplayErrorText(status); - LoadDriverCleanup(); - exit(level); - return 0; -} - - -DWORD LoadDriverInit(void) { - // connect to local service control manager - if ((hSCMan = OpenSCManager(NULL, NULL, - SC_MANAGER_ALL_ACCESS)) == NULL) { - return -1; - } - return OKAY; -} - -void LoadDriverCleanup(void) { - if (hSCMan != NULL) CloseServiceHandle(hSCMan); -} - -/**-----------------------------------------------------**/ -DWORD DriverInstall(LPSTR lpPath, LPSTR lpDriver) { - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - - // add to service control manager's database - if ((hService = CreateService(hSCMan, lpDriver, - lpDriver, SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, - SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, lpPath, - NULL, NULL, NULL, NULL, NULL)) == NULL) - dwStatus = GetLastError(); - else CloseServiceHandle(hService); - - return dwStatus; -} // DriverInstall - -/**-----------------------------------------------------**/ -DWORD DriverStart(LPSTR lpDriver) { - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - - // get a handle to the service - if ((hService = OpenService(hSCMan, lpDriver, - SERVICE_ALL_ACCESS)) != NULL) - { - // start the driver - if (!StartService(hService, 0, NULL)) - dwStatus = GetLastError(); - } else dwStatus = GetLastError(); - - if (hService != NULL) CloseServiceHandle(hService); - return dwStatus; -} // DriverStart - -/**-----------------------------------------------------**/ -DWORD DriverStop(LPSTR lpDriver) -{ - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - SERVICE_STATUS serviceStatus; - - // get a handle to the service - if ((hService = OpenService(hSCMan, lpDriver, - SERVICE_ALL_ACCESS)) != NULL) - { - // stop the driver - if (!ControlService(hService, SERVICE_CONTROL_STOP, - &serviceStatus)) - dwStatus = GetLastError(); - } else dwStatus = GetLastError(); - - if (hService != NULL) CloseServiceHandle(hService); - return dwStatus; -} // DriverStop - -/**-----------------------------------------------------**/ -DWORD DriverRemove(LPSTR lpDriver) -{ - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - - // get a handle to the service - if ((hService = OpenService(hSCMan, lpDriver, - SERVICE_ALL_ACCESS)) != NULL) - { // remove the driver - if (!DeleteService(hService)) - dwStatus = GetLastError(); - } else dwStatus = GetLastError(); - - if (hService != NULL) CloseServiceHandle(hService); - return dwStatus; -} // DriverRemove - -/**-----------------------------------------------------**/ -////extensions by Lch -/**-----------------------------------------------------**/ -DWORD DriverStatus(LPSTR lpDriver) { - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - DWORD dwBytesNeeded; - - // get a handle to the service - if ((hService = OpenService(hSCMan, lpDriver, - SERVICE_ALL_ACCESS)) != NULL) - { - LPQUERY_SERVICE_CONFIG lpqscBuf; - //~ LPSERVICE_DESCRIPTION lpqscBuf2; - // Allocate a buffer for the configuration information. - if ((lpqscBuf = (LPQUERY_SERVICE_CONFIG) LocalAlloc( - LPTR, 4096)) != NULL) - { - //~ if ((lpqscBuf2 = (LPSERVICE_DESCRIPTION) LocalAlloc( - //~ LPTR, 4096)) != NULL) - { - // Get the configuration information. - if (QueryServiceConfig( - hService, - lpqscBuf, - 4096, - &dwBytesNeeded) //&& - //~ QueryServiceConfig2( - //~ hService, - //~ SERVICE_CONFIG_DESCRIPTION, - //~ lpqscBuf2, - //~ 4096, - //~ &dwBytesNeeded - ) - { - // Print the configuration information. - printf("Type: [0x%02lx] ", lpqscBuf->dwServiceType); - switch (lpqscBuf->dwServiceType) { - case SERVICE_WIN32_OWN_PROCESS: - printf("The service runs in its own process."); - break; - case SERVICE_WIN32_SHARE_PROCESS: - printf("The service shares a process with other services."); - break; - case SERVICE_KERNEL_DRIVER: - printf("Kernel driver."); - break; - case SERVICE_FILE_SYSTEM_DRIVER: - printf("File system driver."); - break; - case SERVICE_INTERACTIVE_PROCESS: - printf("The service can interact with the desktop."); - break; - default: - printf("Unknown type."); - } - printf("\nStart Type: [0x%02lx] ", lpqscBuf->dwStartType); - switch (lpqscBuf->dwStartType) { - case SERVICE_BOOT_START: - printf("Boot"); - break; - case SERVICE_SYSTEM_START: - printf("System"); - break; - case SERVICE_AUTO_START: - printf("Automatic"); - break; - case SERVICE_DEMAND_START: - printf("Manual"); - break; - case SERVICE_DISABLED: - printf("Disabled"); - break; - default: - printf("Unknown."); - } - printf("\nError Control: [0x%02lx] ", lpqscBuf->dwErrorControl); - switch (lpqscBuf->dwErrorControl) { - case SERVICE_ERROR_IGNORE: - printf("IGNORE: Ignore."); - break; - case SERVICE_ERROR_NORMAL: - printf("NORMAL: Display a message box."); - break; - case SERVICE_ERROR_SEVERE: - printf("SEVERE: Restart with last-known-good config."); - break; - case SERVICE_ERROR_CRITICAL: - printf("CRITICAL: Restart w/ last-known-good config."); - break; - default: - printf("Unknown."); - } - printf("\nBinary path: %s\n", lpqscBuf->lpBinaryPathName); - - if (lpqscBuf->lpLoadOrderGroup != NULL) - printf("Load order grp: %s\n", lpqscBuf->lpLoadOrderGroup); - if (lpqscBuf->dwTagId != 0) - printf("Tag ID: %ld\n", lpqscBuf->dwTagId); - if (lpqscBuf->lpDependencies != NULL) - printf("Dependencies: %s\n", lpqscBuf->lpDependencies); - if (lpqscBuf->lpServiceStartName != NULL) - printf("Start Name: %s\n", lpqscBuf->lpServiceStartName); - //~ if (lpqscBuf2->lpDescription != NULL) - //~ printf("Description: %s\n", lpqscBuf2->lpDescription); - } - //~ LocalFree(lpqscBuf2); - } - LocalFree(lpqscBuf); - } else { - dwStatus = GetLastError(); - } - } else { - dwStatus = GetLastError(); - } - - if (hService != NULL) CloseServiceHandle(hService); - return dwStatus; -} // DriverStatus - -/**-----------------------------------------------------**/ -DWORD DriverStartType(LPSTR lpDriver, DWORD dwStartType) { - BOOL dwStatus = OKAY; - SC_HANDLE hService = NULL; - - SC_LOCK sclLock; - LPQUERY_SERVICE_LOCK_STATUS lpqslsBuf; - DWORD dwBytesNeeded; - - // Need to acquire database lock before reconfiguring. - sclLock = LockServiceDatabase(hSCMan); - - // If the database cannot be locked, report the details. - if (sclLock == NULL) { - // Exit if the database is not locked by another process. - if (GetLastError() == ERROR_SERVICE_DATABASE_LOCKED) { - - // Allocate a buffer to get details about the lock. - lpqslsBuf = (LPQUERY_SERVICE_LOCK_STATUS) LocalAlloc( - LPTR, sizeof(QUERY_SERVICE_LOCK_STATUS)+256); - if (lpqslsBuf != NULL) { - // Get and print the lock status information. - if (QueryServiceLockStatus( - hSCMan, - lpqslsBuf, - sizeof(QUERY_SERVICE_LOCK_STATUS)+256, - &dwBytesNeeded) ) - { - if (lpqslsBuf->fIsLocked) { - printf("Locked by: %s, duration: %ld seconds\n", - lpqslsBuf->lpLockOwner, - lpqslsBuf->dwLockDuration - ); - } else { - printf("No longer locked\n"); - } - } - LocalFree(lpqslsBuf); - } - } - dwStatus = GetLastError(); - } else { - // The database is locked, so it is safe to make changes. - // Open a handle to the service. - hService = OpenService( - hSCMan, // SCManager database - lpDriver, // name of service - SERVICE_CHANGE_CONFIG - ); // need CHANGE access - if (hService != NULL) { - // Make the changes. - if (!ChangeServiceConfig( - hService, // handle of service - SERVICE_NO_CHANGE, // service type: no change - dwStartType, // change service start type - SERVICE_NO_CHANGE, // error control: no change - NULL, // binary path: no change - NULL, // load order group: no change - NULL, // tag ID: no change - NULL, // dependencies: no change - NULL, // account name: no change - NULL, // password: no change - NULL) ) // display name: no change - { - dwStatus = GetLastError(); - } - } - // Release the database lock. - UnlockServiceDatabase(sclLock); - } - - if (hService != NULL) CloseServiceHandle(hService); - return dwStatus; -} // DriverStartType diff --git a/src/windows/loaddrv.h b/src/windows/loaddrv.h deleted file mode 100644 index d7d102b9..00000000 --- a/src/windows/loaddrv.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef LOADDRV_H -#define LOADDRV_H - -#include - -#define OKAY 0 -#define UNEXPECTED_ERROR 9999 - -//prototypes -DWORD LoadDriverInit(void); -void LoadDriverCleanup(void); -DWORD DriverInstall(LPSTR, LPSTR); -DWORD DriverStart(LPSTR); -DWORD DriverStop(LPSTR); -DWORD DriverRemove(LPSTR); -DWORD DriverStatus(LPSTR); -DWORD DriverStartType(LPSTR, DWORD); -#endif //LOADDRV_H - - diff --git a/src/windows/remove_giveio.bat b/src/windows/remove_giveio.bat deleted file mode 100644 index 024427db..00000000 --- a/src/windows/remove_giveio.bat +++ /dev/null @@ -1,14 +0,0 @@ -@set DIRVERNAME=giveio - -@loaddrv stop %DIRVERNAME% -@if errorlevel 2 goto error - -@loaddrv remove %DIRVERNAME% -@if errorlevel 1 goto error - -@goto exit - -:error -@echo ERROR: Deinstallation of %DIRVERNAME% failed - -:exit diff --git a/src/windows/status_giveio.bat b/src/windows/status_giveio.bat deleted file mode 100644 index bc821474..00000000 --- a/src/windows/status_giveio.bat +++ /dev/null @@ -1,12 +0,0 @@ -@set DIRVERNAME=giveio - -@loaddrv status %DIRVERNAME% -@if errorlevel 1 goto error - -@goto exit - -:error -@echo ERROR: Status querry for %DIRVERNAME% failed - -:exit - From 764c0f6e19b033dc61cfa20dff977fa97a594d50 Mon Sep 17 00:00:00 2001 From: Marius Greuel Date: Tue, 21 Dec 2021 17:57:39 +0100 Subject: [PATCH 14/14] Add credits for giveio.sys driver contributions --- AUTHORS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AUTHORS b/AUTHORS index b01a9c12..4e51eb05 100644 --- a/AUTHORS +++ b/AUTHORS @@ -27,5 +27,11 @@ Contributors: David Mosberger David Sainty +Contributors to code no longer present: + + Dale Roberts for the giveio driver + Paula Tomlinson for the loaddrv sources + Chris Liechti for loaddrv modifications + For minor contributions, please see the ChangeLog files.