Commit Graph

673 Commits

Author SHA1 Message Date
rliebscher 8af36ef451 * 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1105 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-04 17:18:59 +00:00
joerg_wunsch c03387fcb1 Add EXTRA_DIST, replace $(srcdir) by
$(builddir) for generated files, so "make distcheck"
works again.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1104 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-09-06 15:33:09 +00:00
rliebscher 3e93f3d037 fixed doc/Makefile.am for use with BSD make
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1103 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-09-05 20:52:40 +00:00
rliebscher ae88486420 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1102 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-08-15 18:34:53 +00:00
rliebscher 911791686c 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1101 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-08-15 17:31:11 +00:00
hweisbach 7a9f682332 Fixes pin_limit error in avrftdic.
-Error was a result of a mixup between 2232C/D and 2232H


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1099 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-08-13 19:03:41 +00:00
hweisbach 086b4c329e Adds bugfixes and maintenance for avrftdi
Bugfixes:
-remove ftdi_usb_purge_buffers(), since it does not flush, but clear buffers
-fix bad polling in avrftdi_flash_write() where it was possible to poll a 0xff
 value. 

Maintenance:
-use #defines from libftdi for MPSSE commands where applicable
-reformat E() and E_VOID() macros
-remove TYPE_* macros
-clean up private structure (remove pin_inversion, type and ftype)
-adds ftdi_pin_name() to turn a (FTDI) pin number to a human readable string
-adds avrftdi_print to encapsulate "if(verbose > c) fprintf()"-idiom
-nicer / better understandable (I hope) output
-removes pin_limit() and adds a member in the private data structure.
 TYPE_* macros can be removed; decision is made from (struct ftdi_context).type
-add_pin(s)() functions reworked. parameters are validated first, if everything 
 is alright, pin_value is modified. pin_inversion mask is not needed; use
 PIN_INVERTED instead
-change set_pin(s)(), so that it gets the pin value used by avrdude (and not a
 bit mask). This way, PIN_INVERTED is usable and pin_inversion is not needed.
 Plus, the interface is consistent with the add_pin() signature. Also move
 parameter validation to the start of the function. I also commented out the
 warning, that a pin is not defined, because it is annoying.
-clean up avrftdi_open(): first parameter validation, then USB lookup, interface
 initialization then pin setup
-avrftdi_eeprom_read/write() and avrftdi_flash_read/write(): convert to new
 calling scheme, where every paged_* function is called once for every page



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1098 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-29 12:29:39 +00:00
hweisbach 08639363fa Adds ChangeLog entry for Rev 1095
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1097 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-25 16:36:17 +00:00
joerg_wunsch 60efc31839 Return MTYPE_FLASH from jtagmkII_memtype() rather than
MTYPE_SPM for non-Xmega flash regions.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1096 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-25 14:56:39 +00:00
joerg_wunsch f0f3c5cba3 Test for libelf.h in subdirectory libelf, too, and inlude it from there if test
was positive.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1093 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-18 12:42:47 +00:00
joerg_wunsch 967c691e47 Submitted by Rene Liebscher:
* configure.ac: Check for presence of <pthread.h>
* ft245r.c: Depend on HAVE_PTHREAD_H
* Makefile.am: Add -lpthread if needed.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1092 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-06-13 20:45:22 +00:00
joerg_wunsch 07c102e412 * usbtiny.c (usbtiny_paged_load, usbtiny_paged_write):
fix breakage introduced by the recent page handling reorg;
it used to cause an infinite loop



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1091 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-06-07 14:07:17 +00:00
joerg_wunsch dc38f7ca18 Xmega page erase implementation for XPROG (AVRISPmkII, STK600)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1090 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-05-04 15:47:26 +00:00
joerg_wunsch 3fbb7642d2 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



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1089 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-05-04 10:02:30 +00:00
joerg_wunsch 374cc8f212 * jtagmkII.c (jtagmkII_paged_load, jtagmkII_paged_write): fix bug
in memory type calculation for Xmega "boot" memory region.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1087 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-26 10:57:09 +00:00
joerg_wunsch 0dd5684041 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1086 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-25 16:32:23 +00:00
joerg_wunsch 80dd0439a8 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1085 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-24 15:41:02 +00:00
joerg_wunsch 98d2f6fff8 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1084 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-20 12:33:15 +00:00
joerg_wunsch ee8a3b1f4d * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1083 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-20 11:03:51 +00:00
joerg_wunsch f5318109f0 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1082 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-19 13:59:09 +00:00
joerg_wunsch 67060801c2 * 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1081 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-19 13:32:34 +00:00
joerg_wunsch 9704aaeb74 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1080 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-18 16:00:21 +00:00
joerg_wunsch 9f0aeb90e2 * 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.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1079 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-18 15:47:57 +00:00
joerg_wunsch b62408923b 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1078 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-13 15:25:41 +00:00
joerg_wunsch ab52c9e972 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



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1077 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-30 16:19:13 +00:00
joerg_wunsch 032704bd95 Sort commands, response codes and events into numerical order.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1076 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-30 14:03:38 +00:00
joerg_wunsch 069fb58779 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.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1075 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-29 14:32:18 +00:00
joerg_wunsch 0d502e5e40 Shesh. The previous commit was a little premature. Drag the
"GO" code in again, but only activate it when programming an
Xmega device through PDI.

Wonderfully consistent tools.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1071 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-20 14:42:20 +00:00
joerg_wunsch 33a7e91b0e * jtagmkII.c (jtagmkII_close): The GO command before signing off
turned out to do more harm than good; on the Xmega, it caused exactly
the opposite reaction, the CPU stopped.  Even without it, after the
RESET command, the target is running already.  So, drop the GO.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1070 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-20 14:21:33 +00:00
joerg_wunsch 7c585f1b2d Print a configuration summary at the end of the configure run.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1069 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-20 14:13:18 +00:00
rliebscher 00aad29d96 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1068 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-11 19:55:22 +00:00
rliebscher 01359e24bb patch #7720 Bug in EEPROM write
* avrftdi.c: fixed wrong buffer address initialization in paged_write

* fileio.c: added #include <stdint.h>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1067 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-06 19:41:36 +00:00
rliebscher b5bef35538 bug #30559 Ft232 bit-bang support
* ft245r.c: cancel reader thread before exiting program


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1066 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-05 19:58:59 +00:00
rliebscher 76dce38725 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1065 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-04 16:43:37 +00:00
rliebscher 84fbaaa6b9 patch #7715 FT4232H support
* avrdude.conf.in: added programmer 4232h


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1063 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 20:33:04 +00:00
rliebscher 6eb5833d43 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1062 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 20:23:32 +00:00
rliebscher 5779185677 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1061 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 20:07:54 +00:00
joerg_wunsch fbb0effb7d Fix a copy'n-paste-o.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1059 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 08:34:39 +00:00
joerg_wunsch 475b5ce3c4 Move par_desc[] to end of file, outside the #if HAVE_PARPORT.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1058 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 07:21:39 +00:00
joerg_wunsch f5e8183f30 Implement ELF file reading (finally). Requires libelf(3) to be
present on the host system.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1056 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-02 16:52:45 +00:00
rliebscher ee3483eadf 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1055 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-01 22:26:58 +00:00
joerg_wunsch d31d9a1563 Sort keyword tokens into alphabetic order.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1054 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-01 09:12:55 +00:00
rliebscher ff577a6fed * config_gram.y, lexer.l: removed unused ID/TKN_ID definitions
* config.[hc]: removed unused function id(), use value.type to select
               values


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1053 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-31 19:28:01 +00:00
rliebscher 2f9a27cd3f 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1052 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-31 19:01:00 +00:00
rliebscher 751b96182c 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1051 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-31 17:03:43 +00:00
joerg_wunsch a2a8927d8f Bump required autoconf version to 2.60, as AC_PROG_SED requires this.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1050 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-31 09:52:41 +00:00
rliebscher 824d7c5178 * configure.ac: fixed detection of yylex_destroy availability
by checking the version number of flex


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1049 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-30 20:47:26 +00:00
joerg_wunsch 0f8e5057d5 Replace the old, now-defunct #define YY_NO_UNPUT by the new %option
nounput.  This gets rid of a compiler warning, so we are warning-free
again.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1048 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-30 20:31:29 +00:00
joerg_wunsch a86aff7232 Add a connection_type attribute to each programmer, rather than
trying to hard-code the default port name in main.c.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1047 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-30 17:08:48 +00:00
rliebscher cfe513363f * 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1046 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-27 21:14:34 +00:00
rliebscher 38e72e4b99 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1045 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-22 12:31:54 +00:00
rliebscher 6047bf5569 bug #21797: AT90PWM316: New part description
* avrdude.conf.in: added pwm316 with parent pwm3b but 16KB flash


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1044 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-22 09:24:22 +00:00
joerg_wunsch 097ca1468f libusb-win32 recently changed the name of their header file from usb.h
to lusb0_usb.h (for whatever reason).  Autoprobe for the filename
during configure, and include whatever is appropriate.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1043 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-20 09:39:56 +00:00
rliebscher d342905ecb * 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1042 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-19 20:06:52 +00:00
rliebscher 4976fcf88e 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1041 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-17 20:56:37 +00:00
rliebscher fbb740ffdf * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1040 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-17 17:37:23 +00:00
rliebscher fc92d9810d 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


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1039 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-10 18:19:40 +00:00
rliebscher 12c2affe92 patch #7699 Read additional config files
* main.c: Added reading of additional config files
* avrdude.1: updated man page
* doc/avrdude.texi: updated documentation


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1038 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-10 18:07:19 +00:00
joerg_wunsch 8ce3040691 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1036 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-10 07:22:20 +00:00
rliebscher 9ccde79fde 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1035 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-08 17:09:40 +00:00
joerg_wunsch 1c7843a191 Reported by Jason Kotzin:
* usbasp.c (usbasp_spi_paged_load, usbasp_spi_paged_write):
Fix buffer address calculation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1034 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-03 22:38:59 +00:00
rliebscher b897f9624c 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)

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1033 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-03 14:01:10 +00:00
rliebscher 9c25498021 bug #21663 AT90PWM efuse incorrect
bug #30438 efuse bits written as 0 on at90pwmxx parts
* avrdude.conf.in: (pwm2, pwm2b, pwm3, pwm3b) <efuse.write>: 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.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1032 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-02 15:20:18 +00:00
rliebscher 87da0d461f * 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

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1031 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-30 23:03:42 +00:00
rliebscher cb4d616c42 patch #7693: Fix config file atmel URLs (+ URLs in avrdude.texi and avrpart.h)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1030 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-30 19:43:11 +00:00
joerg_wunsch a3ad8b0e98 * 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1029 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-30 16:38:58 +00:00
rliebscher 8a5c0972ab bug #34302: Feature request : device configuration with parent classes
(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 f

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1028 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-29 16:51:44 +00:00
rliebscher e20b95a8b0 patch #7687: Autogenerating programmers and parts lists for docs
* doc/Makefile.am: Add rule how to create avrdude before generating parts list

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1027 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-29 13:24:02 +00:00
rliebscher 0f518dba3d patch #7687: Autogenerating programmers and parts lists for docs
(generating the parts lists, programmers lists follows later)

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1026 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-29 12:53:20 +00:00
rliebscher bb3584db75 * configure.ac: Add writing of definition of confsubst to config.status, so it can run alone, not only called by configure.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1025 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-22 19:44:37 +00:00
rliebscher 9f923bd4f6 patch #7680: Fixing timeout problem in ser_recv in ser_win32.c
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1024 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-17 20:18:36 +00:00
joerg_wunsch 63673b066c Replace "cvs" in version number by "svn".
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1018 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-10-19 09:23:24 +00:00
joerg_wunsch 941b2cd4d0 bug #34518: loading intel hex files > 64k using record-type 4
(Extended Linear Address Record)

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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1017 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-10-10 13:42:08 +00:00
joerg_wunsch 44c650220a Remove stray printf()s by fprintf(stderr).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1015 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-15 20:08:15 +00:00
joerg_wunsch b71fb55405 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1014 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-15 15:20:59 +00:00
joerg_wunsch 8f807bd402 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1009 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-15 13:04:36 +00:00
joerg_wunsch a8e82b7e49 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1008 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-15 11:15:06 +00:00
joerg_wunsch 92952f3693 In stk500v2_command(), treat warnings as errors rather than success.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1006 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-13 15:14:53 +00:00
joerg_wunsch 2f1176438b Document the programmer type restrictions for AT90S1200 devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1005 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-30 07:28:21 +00:00
joerg_wunsch 21983f7863 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1004 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-30 07:19:21 +00:00
joerg_wunsch 7066df403c 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1003 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-30 07:16:22 +00:00
joerg_wunsch a4c8ac47bb 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1002 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-29 09:25:04 +00:00
joerg_wunsch dfce94e701 Bump version for post-5.11.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@997 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-27 21:23:57 +00:00
joerg_wunsch b183c4cae7 Bump version for AVRDUDE 5.11.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@995 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-27 19:49:39 +00:00
joerg_wunsch a059a059c8 Update the list of supported AVR devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@994 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 21:12:33 +00:00
joerg_wunsch caf9bd0d97 Add -lusb as "other libraries" when checking
for libftdi.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@993 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 21:05:53 +00:00
joerg_wunsch 185a54d5aa 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@991 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:50:32 +00:00
joerg_wunsch 0a1f0ad778 Submitted by Stefan Tomanek:
patch #7542: add default_bitclock to configuration files




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@988 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:30:26 +00:00
joerg_wunsch b7c70ab98c Submitted by Brett Hagman:
Add support for the "Wiring" board/bootloader
* 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@987 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:22:09 +00:00
joerg_wunsch 14b1f57a8d Submitted by an anonymous contributor on the mailinglist:
* avrdude.conf (jtagkey): Add a definition for the Amontec
JTAGKey



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@986 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:01:38 +00:00
joerg_wunsch d39d171985 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.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@985 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 12:35:08 +00:00
joerg_wunsch 275bf5a149 Add the macro BUILT_SOURCES so automake's dependency tracking will work.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@984 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 12:04:51 +00:00
joerg_wunsch b177acae71 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@983 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 10:05:09 +00:00
joerg_wunsch 763f49b4fa Reported by Jason Hecker:
* usbasp.c (libusb_to_errno): Conditionalize some error codes
that apparently are lacking on MinGW.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@982 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 05:46:50 +00:00
joerg_wunsch 3d2c1401cb Fix warnings.
* ser_avrdoper.c: add <stdlib.h> 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@981 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-25 19:03:10 +00:00
joerg_wunsch 6dff35135d Add a check for FreeBSD's libusb-1.0 compatible library that is found
in libusb.a/.so on FreeBSD 8+.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@980 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-25 18:41:48 +00:00
joerg_wunsch 43bd052abf 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@979 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-25 16:12:30 +00:00
joerg_wunsch 581e93da6a Allow for the GNU FDL as an alternate option to the existing
documentation license.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@977 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-23 21:12:14 +00:00
joerg_wunsch 6431eece98 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@976 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-23 21:03:36 +00:00
joerg_wunsch 4ef2350350 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.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@974 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-17 15:24:09 +00:00
joerg_wunsch 317351e8df 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@973 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 18:47:52 +00:00
joerg_wunsch 5a6a357c8f 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@972 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 18:15:19 +00:00
joerg_wunsch c8f5bc0114 bug #29650: Programming timeouts in ATmega128RFA1 are too slow
* avrdude.conf.in (ATmega128RFA1): Bump write delay values for flash and
EEPROM to 50 ms.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@971 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 16:45:24 +00:00
joerg_wunsch 4d1b585507 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@970 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 16:42:30 +00:00
joerg_wunsch 45ca03eae2 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@969 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 15:18:33 +00:00
joerg_wunsch 233dd09921 Submitted by Durant Gilles:
Fix flash addressing bits for manual ISP algorithm in ATtiny4313.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@968 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 14:57:56 +00:00
joerg_wunsch b27eda81ac Submitted by Philip:
bug #31386: A "BUILD.svn" or similar "how to get started" doc would be helpful



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@967 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-16 10:37:09 +00:00
joerg_wunsch 57b91dbe63 Submitted by Nic Jones:
bug #32539: [Documentation][Patch] Man page is misleading re: Dragon & PDI

Update information about PDI connections on AVR Dragon



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@966 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-15 16:05:54 +00:00
joerg_wunsch e1d8d6a5e2 Add <stdint.h> so this actually compiles again.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@965 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-12 15:56:21 +00:00
joerg_wunsch 8ffc1b85b0 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@964 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-12 15:53:53 +00:00
fischl 7313b4348e fixed part id of ATtiny9
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@962 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-06-16 17:52:20 +00:00
fischl fc589638df added TPI support for USBasp (patch #7440)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@961 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-28 07:35:40 +00:00
joerg_wunsch d1db544c8b Add support for ATmega168P.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@959 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-11 21:22:23 +00:00
joerg_wunsch 1cebcc9b55 Fix abbreviated name for ATmega324PA.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@958 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-11 21:10:10 +00:00
joerg_wunsch 292af077d4 Submitted by Lech Perczak:
bug #30946: Added support for ATmega8/16/32U2



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@957 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-11 21:06:05 +00:00
joerg_wunsch 73dce57ce0 Submitted by David A Lyons:
patch #7393: Adding ATtiny4313 Device to avrdude.conf.in



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@955 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-11 20:46:17 +00:00
joerg_wunsch 358961e07e Bump timeout values to allow for slow clock speeds. Ideally, the
timeout should depend on the selected clock speed, but changing the
API for that would require quite some effort throughout the entire
code base.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@954 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-05-11 20:42:27 +00:00
arcanum a403b4372a 2011-03-04 Eric B. Weddington <eric.weddington@atmel.com>
Thanks to Vitaly Chernookiy for the patch.
	* avrdude.conf.in: Add support for atmega324pa.
	* ChangeLog-2010: New file, rotate ChangeLog for new year.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@953 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-03-04 15:45:56 +00:00
joerg_wunsch ae7aa30dc9 ATmega128RFA1: Bump two timing values in order to improve ISP
programming stability, in particular with the STK600.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@952 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-12-17 13:28:21 +00:00
joerg_wunsch 686d01b04d In stk500v2_command(), detect warning status codes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@951 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-12-14 17:17:33 +00:00
springob fcce4d2de3 * serial_open() calls will now return -1 on error (no call to exit())
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@948 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-10-22 14:29:56 +00:00
joerg_wunsch d7c246d112 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.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@947 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-07-27 16:06:01 +00:00
mludvig f474ab0425 * buspirate.c: Added compatibility with BusPirate "NewUI" firmware 5.x
(contributed by Kari Knuuttila)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@946 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-07-18 13:15:07 +00:00
springob 9c728bff1a * avrdude.conf.in (atmega88p): New device.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@945 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-07-12 15:57:29 +00:00
joerg_wunsch 1e65f77173 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@944 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-06-03 16:18:34 +00:00
joerg_wunsch 59010a4b6f 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@942 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-19 21:33:55 +00:00
mludvig d699f2bbd5 * ser_posix.c(ser_set_dtr_rts): Fixed DTR on/off to make
Arduino auto-reset work. (bug #29108, patch #7100)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@940 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-07 21:27:22 +00:00
joerg_wunsch c1d1c99753 Replace printf() by fprintf(stderr)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@939 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-03-05 08:28:42 +00:00
joerg_wunsch 83fa6c7934 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.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@936 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-22 16:40:17 +00:00
joerg_wunsch 1c4db09770 This is the post-5.10 tree now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@935 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-19 10:42:03 +00:00
joerg_wunsch ffe9655966 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@930 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-19 10:03:05 +00:00
joerg_wunsch c33c2db3ad Redo most of r851 and r880, respectively, minus the bugs. ;-)
(Submitted by dhoerl)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@929 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-18 20:40:15 +00:00
joerg_wunsch aeed04049b bug #28660: Problem with loading intel hex rom files that exceed
0x10000 bytes
* fileio.c: Revert the changes from r851 and r880, respectively.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@928 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-18 11:05:36 +00:00
joerg_wunsch 4a81bd08e2 Submitted by Michael Biebl:
Fix default serial port name for FreeBSD.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@927 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 17:35:30 +00:00
joerg_wunsch b75ab66c85 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@926 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 17:31:10 +00:00
joerg_wunsch db26deb038 Fix build for GNU/kFreeBSD, fix FreeBSD
default serial port name.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@925 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-17 16:58:06 +00:00
joerg_wunsch 88dd40ce2d We are post-release now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@923 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 21:53:42 +00:00
joerg_wunsch cd5a2a9a47 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.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@917 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 16:40:17 +00:00
joerg_wunsch 46715b4296 Implement TPI mode for AVRISPmkII/STK600.
Add ATtiny4/5/9/10 to avrdude.conf.in.
Document TPI and new device support.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@916 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-15 16:36:13 +00:00
joerg_wunsch 24e0a12960 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.)




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@915 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 15:26:09 +00:00
joerg_wunsch f94da91610 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@914 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 15:11:47 +00:00
joerg_wunsch 0d8f1889ab * 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.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@913 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-14 13:46:02 +00:00
joerg_wunsch ff687cd21c Implement PDI mode support for the JTAG ICE mkII and the AVR Dragon.
(AVR Dragon not yet verified.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@912 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 17:34:18 +00:00
joerg_wunsch 1c96f227e8 Update STK600 routing and socket card data from XML
file.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@911 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 12:52:38 +00:00
joerg_wunsch 1429550f8e Cleanup the open/close handling to avoid accessing
unallocated memory (in the atexit handler) in case of bailing out.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@910 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 12:44:54 +00:00
joerg_wunsch 3e2e779436 * 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@909 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-13 08:37:57 +00:00
joerg_wunsch c879205c05 autoconf 2.62 works well.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@908 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 22:27:02 +00:00
joerg_wunsch 814ff25d79 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@907 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 15:42:40 +00:00
mludvig d5023fbd6d * buspirate.c: Initialise firmware version to v0.0
prior to parsing the buspirate banner.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@906 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-12 09:52:40 +00:00
joerg_wunsch 5279d55b9e 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.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@904 81a1dc3b-b13d-400b-aceb-764788c761c2
2010-01-11 16:04:29 +00:00