Commit Graph

1276 Commits

Author SHA1 Message Date
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 85484034bf Add "my" bugs, too.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1074 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-28 06:17:44 +00:00
joerg_wunsch db63109616 Cosmetics: reformat paragraphs.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1073 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-28 06:13:40 +00:00
rliebscher 37fb2aaa83 update NEWS file
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1072 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-03-27 21:48:11 +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 61e17bd4f9 patch #7714 Missing stdint.h include in ft245r.c
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1064 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 21:49:45 +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 3fa6e9f8ca Mention we can read ELF files now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1060 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-03 08:35:59 +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 8131767a34 Sort new filename entries into alphabetical order.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1057 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-02-02 19:29:34 +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 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