Commit Graph

2248 Commits

Author SHA1 Message Date
Rene Liebscher b704e9e89f 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
Rene Liebscher 926269f39f 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
Hannes Weisbach 15ab375553 Fixes 'label at end of compound statement' error introdcued in r1099
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1100 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-08-13 19:31:38 +00:00
Hannes Weisbach cee2c0cd39 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
Hannes Weisbach bcd3ba87f3 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
Hannes Weisbach 777c9117c8 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 be820748f2 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
Hannes Weisbach 534f635763 Adds avr_pin_name()
Renames pin_name() from avrpart.c to avr_pin_name() and adds a
(globally visible)declaration in avrpart.h
The function takes an integer argument from the pin-enum in pindefs.h and
converts it to a string. The returned string corresponds to the pin names used
in avrdude.conf.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1095 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-20 20:05:30 +00:00
Joerg Wunsch 5379f36061 Add ChangeLogs for 2010 and 2011 to distribution.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1094 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-07-18 13:59:02 +00:00
Joerg Wunsch a8b5742512 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 d486a0a1cd 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 bde3c841e5 * 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 ffeb38cf3e 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 b9a38193a0 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 36ca4dce5c Fix for previous fix: add memtype for "flash".
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1088 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-04-26 11:01:19 +00:00
Joerg Wunsch f2f59a2d2e * 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 c4bcc20e07 * 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 0bda6f26d1 * 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 2343e419d3 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 973e615dbe * 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 269bb7e2a4 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 f4db29d983 * 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 c1a5d32c87 * 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 f8e99df355 * 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 3a4b48b583 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 df6f97d78c 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 8074c2539f 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 0025747234 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 3fdeef1f16 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 c496403bb2 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
Rene Liebscher 3a24273704 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 d3a655ae58 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 229b7cd075 * 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 19b0f84db1 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
Rene Liebscher 165d526d98 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
Rene Liebscher e28f48d296 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
Rene Liebscher f92e91d08e 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
Rene Liebscher 10c078e7f3 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
Rene Liebscher 583ce458f9 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
Rene Liebscher 6789bc2958 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
Rene Liebscher 3c374a8b3d 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
Rene Liebscher 229abf6f7b 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 7fa0f7146a 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 a74cd4d03d 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 c4c6734f16 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 bc83547bf1 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 86ad524ea2 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
Rene Liebscher 7240bbec2f 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 c05b7bb0ab 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
Rene Liebscher 058a3b9dab * 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