Commit Graph

27 Commits

Author SHA1 Message Date
joerg_wunsch 108793bc7a Contributed by dcm@mit.edu: 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.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@564 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-12 23:13:50 +00:00
joerg_wunsch dc2038e767 Initial import of JTAG ICE mkI support.
The very basic functionality (paged flash read/write, erase, terminal
mode reads, fuse writes) works fine.  There are still the following
issues right now:

. paged EEPROM write (i.e. through -U eeprom:w:...) only works on an
  erased EEPROM
. byte-access flash and EEPROM writes (i.e. in terminal mode) fail
. documentation needs to be updated still


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@547 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-25 06:14:06 +00:00
joerg_wunsch 5564934a4e 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@539 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-01 23:02:06 +00:00
joerg_wunsch d5464326e3 In lieu of Michael Holzt, add his serbb serial bit-bang code so it
will be available in the upcoming avrdude release.

His addition has been implemented by means of a generalized bit-bang
interface that contains the common part between serial and paralle
bit-bang devices, and specialed backends for the serial and parallel
port connections.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@515 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-18 20:12:23 +00:00
joerg_wunsch 2d236ed812 Implement and document a libusb-based USB transport for the JTAG ICE
mkII.

The serial transport methods have been moved out into a record of
function pointers for that purpose, defaulting to the actual serial
connection that natively applies to the hosting system.  Iff inside
the JTAG ICE mkII handler a port name starting with "usb" has been
detected, the record of function pointers is switched to USB.
Optionally, a serial number might be specified, so only the JTAG ICE
mkII matching the given serial number will be opened.  The match is
done right-to-left, so only the least significant bytes of the serial
number need to be given.

In order to make the change as least intrusive to existing drivers as
possible, the entire naming scheme of the serial_foo() function entry
points has been maintained as access macros that encapsulate these
into the respective indirect function calls via serdev->foo().


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@478 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-06-19 21:38:03 +00:00
joerg_wunsch b49dc8f645 Mega-commit to bring in both, the STK500v2 support from Erik
Walthinsen, as well as JTAG ICE mkII support (by me).

Erik's submission has been cleaned up a little bit, mostly to add his
name and the current year to the copyright of the new file, remove
trailing white space before importing the files, and fix the minor
syntax errors in his avrdude.conf.in additions (missing semicolons).

The JTAG ICE mkII support should be considered alpha to beta quality
at this point.  Few things are still to be done, like defering the
hfuse (OCDEN) tweaks until they are really required.  Also, for
reasons not yet known, the target MCU doesn't start to run after
signing off from the ICE, it needs a power-cycle first (at least on my
STK500).

Note that for the JTAG ICE, I did change a few things in the internal
API.  Notably I made the serial receive timeout configurable by the
backends via an exported variable (done in both the Posix and the
Win32 implementation), and I made the serial_recv() function return a
-1 instead of bailing out with exit(1) upon encountering a receive
timeout (currently only done in the Posix implementation).  Both
measures together allow me to receive a datastreem from the ICE at 115
kbps on a somewhat lossy PCI multi-UART card that occasionally drops a
character.  The JTAG ICE mkII protocol has enough of safety layers to
allow recovering from these events, but the previous code wasn't
prepared for any kind of recovery.  The Win32 change for this still
has to be done, and the traditional drivers need to be converted to
exit(1) upon encountering a timeout (as they're now getting a -1
returned they didn't see before in that case).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@451 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-05-10 19:17:12 +00:00
bdean b0d0be4c49 Patch to 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@445 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 14:54:57 +00:00
arcanum 747d7f4fd7 Add new files, safemode.c, safemode.h
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@441 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-01-24 21:26:12 +00:00
troth 3db30bb90e * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@433 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-07-19 06:10:43 +00:00
troth 21341c082f * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@402 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-01-26 06:27:41 +00:00
hinni c5d2aafb12 *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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@388 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-30 16:42:10 +00:00
bdean 885d915a1c Add support for the Atmel Butterfly board which talks to the
Butterfly's supplied bootloader firmware.

Contributed by: Michael Mayer <michael-mayer@gmx.de>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@387 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-30 15:16:48 +00:00
troth 25116822c0 * Makefile.am: Change AM_CPPFLAGS to avrdude_CPPFLAGS.
Define avrdude_CFLAGS.
* configure.ac: Set ENABLE_WARNINGS to "-Wall" if using gcc.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@362 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-09-05 04:23:27 +00:00
troth 746f6f4421 * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@289 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-13 03:52:19 +00:00
troth edd634c6f6 * Makefile.am: Add CLEANFILES to remove all files from a make.
* doc/Makefile.am: Ditto


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@283 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-12 02:09:57 +00:00
troth e87bd8db17 * AUTHORS: Updated.
* CHANGELOG: Move contents to NEWS and remove file.
* ChangeLog: All of the changes for this year.
* ChangeLog-2001: All 2001 changes.
* ChangeLog-2002: All 2002 changes.
* Makefile.am (EXTRA_DIST): Remove CHANGELOG and and Change-200[12].
* NEWS: Moved contents of CHANGELOG file here.
* README: Add note pointing to savannah site.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@279 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-11 22:34:53 +00:00
troth 1633627f12 * Makefile.am (EXTRA_DIST): Add CHANGELOG.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@277 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-10 23:51:14 +00:00
troth c8da7420c9 * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@245 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-03 01:09:52 +00:00
troth bc8d778632 * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@240 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-27 06:56:03 +00:00
troth 55d01ba7a7 * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@239 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-26 00:14:54 +00:00
troth d0a60ef253 * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@238 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-25 00:57:27 +00:00
arcanum aac7d66784 Integrate Windows search of config files.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@231 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-24 23:13:55 +00:00
arcanum 3f4325b0ce Add ppiwin.c to avrdude_SOURCES.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@205 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-20 18:18:39 +00:00
troth 9e73540ea9 Add $srcdir to sample config filename so that building in a separate dir works.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@195 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-15 19:49:29 +00:00
joerg_wunsch ef7e3586c8 Only GNU make sets $< in non-inference rules, so rather explicitly
spell the source file(s) to remain compatible.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@194 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-15 14:16:10 +00:00
troth 38f0dd7a4d Add distclean rule and EXTRA_DIST list to get 'make distcheck' to succeed.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@193 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-14 22:19:42 +00:00
troth 1997cc5188 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@192 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-14 20:34:03 +00:00