by return -1. exit(1) from a library function is not going to make
many friends upstream (in particular the day someone uses that as
part of a GUI frontend).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@800 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #6749: make reading from the USBtinyISP programmer more robust
Add code to retry failed communication attempts.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@799 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@798 81a1dc3b-b13d-400b-aceb-764788c761c2
bug #24749: add support for '328p
* avrdude.conf.in (ATmega328P): new device support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@796 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@792 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #6542: paged_load fails on the MIB510 programming board
* stk500.c: Add a workaround for the different signon sequence on
MIB510 programmers.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@791 81a1dc3b-b13d-400b-aceb-764788c761c2
* 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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@787 81a1dc3b-b13d-400b-aceb-764788c761c2
* 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.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@786 81a1dc3b-b13d-400b-aceb-764788c761c2
* stk500v2.c (stk500v2_chip_erase,stk500hv_chip_erase): Return
the expected 0 for success rather than a protocol-dependant
number.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@785 81a1dc3b-b13d-400b-aceb-764788c761c2
Do not erase the chip if both, -e and -n options have
been specified.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@784 81a1dc3b-b13d-400b-aceb-764788c761c2
Uncomment the correct, and delete the wrong signature for
AT90USB646/647. Alas, the datasheet has never been corrected for
years.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@782 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@781 81a1dc3b-b13d-400b-aceb-764788c761c2
for Xmega programming using the JTAG ICE mkII in JTAG mode.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@780 81a1dc3b-b13d-400b-aceb-764788c761c2
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.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@779 81a1dc3b-b13d-400b-aceb-764788c761c2
of the number of bytes to be written which caused a malloc chunk
corruption.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@778 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@777 81a1dc3b-b13d-400b-aceb-764788c761c2
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
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@774 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@773 81a1dc3b-b13d-400b-aceb-764788c761c2
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.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@771 81a1dc3b-b13d-400b-aceb-764788c761c2
"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.
Thanks to Eirik Rasmussen from Atmel Norway for his support in
getting this code running within that short amount of time!
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@768 81a1dc3b-b13d-400b-aceb-764788c761c2
and turn stderr into unbuffered output while producing the
progress report.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@765 81a1dc3b-b13d-400b-aceb-764788c761c2
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.
avr910.c, butterfly.c, jtagmkI.c, jtagmkII.c, stk500v2.c, usbasp.c,
usbtiny.c: Convert static programmer data into dynamically allocated
data.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@764 81a1dc3b-b13d-400b-aceb-764788c761c2
the programmer backend.
jtagmkII.c: Implement the extended parameter jtagchain=
to support JTAG daisy-chains.
avrdude.1, doc/avrdude.texi: Document all of the above.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@761 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #5007: Patch for line-buffering of stdout and stderr
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@757 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #6121: ISP support for the C2N232I device (serial port
bitbanging)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@755 81a1dc3b-b13d-400b-aceb-764788c761c2
patch #6141: accept binary format immediate values
Detect a 0b prefix, and call strtoul() differently in that case.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@754 81a1dc3b-b13d-400b-aceb-764788c761c2
In 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.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@753 81a1dc3b-b13d-400b-aceb-764788c761c2
Add definitions for the ATmega329P/3290P. Same as ATmega329/3290
except of the different signature.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@752 81a1dc3b-b13d-400b-aceb-764788c761c2
using default configuration file.
Uncomment the (bogus) stk500_devcode lines for the ATmega164P,
ATmega324P, ATmega644, and ATmega644P definitions. This only affects
users of STK500v1 firmware.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@750 81a1dc3b-b13d-400b-aceb-764788c761c2