Commit Graph

1087 Commits

Author SHA1 Message Date
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 f47483fd66 Add NEWS items for my recent changes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1037 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-01-10 07:32:37 +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
rliebscher dfb2335b07 Fixed another memory leak, when define an operation more than once; also fixed the conf.in-file
(This might need to be reworked when avr parts can have parents.) 


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1023 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-17 17:00:51 +00:00
rliebscher d486dddebe Restructuring and compacting programmer definition part of grammar
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1022 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-17 15:34:47 +00:00
rliebscher 8f1dee63cd update documentation of programmer definition in config file
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1021 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-17 14:30:09 +00:00
rliebscher 0efb404152 patch #7667: Minor memory handling fixes
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1020 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-17 13:45:54 +00:00
rliebscher 7eef860eb1 patch #7671: Sorting programmers and parts lists for console output
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1019 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-12-16 20:44:07 +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 95a42e16d5 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).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1007 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-09-14 21:49:42 +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 405765b59a As bootstrap is a Unix shell script, turn its svn:eol-style from
"native" into "LF", in the hope this might cause less confusion to
some shells running on non-Unix systems.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1001 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-28 08:04:16 +00:00
joerg_wunsch 90e4cd8ad1 Update NEWS template for next release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1000 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-27 21:34:18 +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 6fc26ab3c6 Match the list of supported programmers with avrdude.conf.in.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@992 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:56:36 +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 e31e284adb Add Brett Hagman's email address.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@990 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:35:58 +00:00
joerg_wunsch 780f2410fa Fix warnings for undeclared system functions.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@989 81a1dc3b-b13d-400b-aceb-764788c761c2
2011-08-26 20:35:40 +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