Commit Graph

801 Commits

Author SHA1 Message Date
joerg_wunsch b46a86284d * configure.ac (libhid): Turn from AC_TRY_RUN into
AC_TRY_COMPILE, so it also works for cross-compilation
setups.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1267 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-17 08:27:48 +00:00
joerg_wunsch 3dc4496761 Move the descriptor checks up from dfu_init() into the
FLIP protocol implementation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1266 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-16 08:11:19 +00:00
joerg_wunsch 0e259ebe3a * flip2.c: Rename from flip.c
* flip2.h: Rename from flip.h
* Makefile.am: Reflect the renaming.
* dfu.c: Update information how to get GPL.
* dfu.h: (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1262 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-16 07:34:40 +00:00
joerg_wunsch a8b4b59e82 In flip2_initialize(), check user is running on an Xmega
device.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1260 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-16 07:27:41 +00:00
joerg_wunsch c049e794dc Added some verbose-level messages.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1259 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-15 16:32:11 +00:00
joerg_wunsch 6818690c26 Submitted by Kirill Levchenko:
patch #7896: DFU FLIPv2 programming support
* pgm_type.c: Add the flip2 programmer type.
* config_gram.y: Allow for the usbid keyword in a device definition.
* avrdude.conf.in: Add usbpid values to those Xmega devices where
applicable.
* avrpart.h: Add usbpid device field.
* dfu.c: (New file.)
* dfu.h: (New file.)
* flip.c: (New file.)
* flip.h: (New file.)
* Makefile.am: Add new files.
* doc/avrdude.texi: Document the changes.
* avrdude.1: (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1258 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-15 13:34:49 +00:00
joerg_wunsch bb47c0e310 Annual changelog rotation.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1257 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-15 13:16:34 +00:00
springob 9094b060a0 * pgm.c/pgm.h: fixed syntax error in const pointer to const
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1255 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-12-15 12:57:13 +00:00
joerg_wunsch 8ffb78dc2a bump version to 6.1-svn-20131205
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1254 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-12-05 16:33:11 +00:00
joerg_wunsch a87d7d7249 bug #40817: Elf file support (possibly) not working on 6.0.1 windows build
* fileio.c (fileio): open file in binary mode also for FMT_ELF




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1253 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-12-05 16:27:54 +00:00
rliebscher 0e9b1c2898 Rework of bitbanging functions setpin, getpin, highpulsepin to make simplier use of new pindefs data in pgm structure
* linuxgpio.c, bitbang.c, buspirate.c, par.c, pgm.h, term.c, serbb_*.c: changed 
	  interface of setpin, getpin, highpulsepin to take pin function as parameter 
	  (not the real number, which can be found by pgm->pinno[function])

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1252 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-12-04 19:02:55 +00:00
rliebscher bded1af4c7 bug #40748 linuxgpio doesn't work on Raspberry PI rev. 2.
* linuxgpio.c: fixed check for unused pins to ignore the inverse flag 
        * pindefs.c: fixed fill_old_pinlist to not create an empty mask with inverse flag set



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1251 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-11-30 12:11:32 +00:00
springob 897bf03884 * ATmega1284 variant added (same as ATmega1284p but with different signature)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1250 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-10-24 17:31:53 +00:00
hweisbach 68b2b5ced6 Add UM232H and C232H programmers
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1248 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-25 10:56:55 +00:00
joerg_wunsch faf274134b Submitted by Daniel Rozsnyo:
bug #40085: Typo fix in fuses report (for 6.1-svn-20130917)
* main.c: Fix a typo.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1247 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-22 21:23:12 +00:00
hweisbach 3f50b9dfcc Remove DRYRUN-option from avrftdi
This options was used during developing to examine the created
bytestream - even without an FTDI device present. avrftdi creates
correct bytestreams and thus, this is option is not of any use anymore.
To the contrary: it makes code unreadable, more complex and prone to error.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1246 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-19 16:28:11 +00:00
hweisbach 1b89c590dc task #12798 Please cleanup #ifdef notyet entries in avrftdi.c
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1245 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-19 16:07:35 +00:00
joerg_wunsch d292c1a394 bug #40055: AVRDUDE segfaults when writing eeprom
* main.c: Always clear the UF_AUTO_ERASE flag if either a
non-Xmega device was found, or the programmer does not offer a
page_erase method.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1242 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-18 05:54:37 +00:00
joerg_wunsch 2c443f466f We are post-6.0 now.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1241 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-17 21:20:25 +00:00
joerg_wunsch ce2836fa98 Prepare everything for 6.0-RELEASE.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1239 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-17 20:54:48 +00:00
joerg_wunsch 7023e2345c * jtag3.c (jtag3_initialize): Fix a buffer overflow by limiting
the flash page cache size to at most "readsize".  For Xmegas with
a page size of 512 bytes, the maximum USB packet size was
overflowed, and subsequently, a memmove copied beyond the end of
the allocated buffer.
* jtag3.c (jtag3_read_byte): Add the correct offset also for the
various flash regions, so reading the apptable or boot regions
yields the correct data.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1237 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-17 15:06:35 +00:00
joerg_wunsch 05bff44a6e Submitted by Joakim Lubeck:
bug #40040: Support for ATtiny20 and ATtiny40
* avrdude.conf.in: Restructure the reduced-core tiny devices
to use a common entry .reduced_core_tiny; add ATtiny20 and
ATtiny40




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1236 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-16 19:40:15 +00:00
joerg_wunsch e7c450c7e1 Fix a typo: s/ATxmega8E6/ATxmega8E5/
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1232 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-16 07:19:32 +00:00
joerg_wunsch 9957d541f2 Submitted by Joakim Lubeck:
bug #40033: Support for the XMegaE5 family
* avrdude.conf.in (ATxmega8E6, ATxmega16E5, ATxmega32E5): New
entries.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1231 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-15 19:50:53 +00:00
joerg_wunsch 65a7c7daca * stk500v2.c (stk500v2_set_sck_period): Revamp this to match the
description/pseudo-code in appnote AVR068.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1229 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 21:32:00 +00:00
joerg_wunsch 97ca8c2e5d Submitted by Stephen Roe:
patch #7710: usb_libusb: Check VID/PID before opening device
* usb_libusb.c (usbdev_open): Swap the sequence of verifying the
VID:PID, and opening the device.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1228 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 19:56:07 +00:00
joerg_wunsch b22d8a5dcd (part of patch #8176: butterfly.c (AVR109 protocol implementation) clean-up and bug-fixing)
* butterfly.c (butterfly_page_erase): Add dummy function to avoid
segfault when writing to EEPROM.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1227 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 19:37:54 +00:00
joerg_wunsch 7e10c77ff3 bug #35474 Feature request: print fuse values in safemode output
* config_gram.y: New configuration token "default_safemode".
* lexer.l: (Dito.)
* avrdude.conf.in: (Dito.)
* config.h: Add variable default_safemode.
* config.c: (Dito.)
* main.c: Handle default_safemode, including -u option.
* avrdude.1: Document all this.
* doc/avrdude.texi: (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1226 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 17:22:38 +00:00
joerg_wunsch a3f00b0b75 Submitted by HubertB:
patch #7657 Add ATmega406 support for avrdude using DRAGON + JTAG
* avrdude.conf.in (ATmega406): New entry.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1225 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 15:42:38 +00:00
joerg_wunsch 57715255b4 Submitted by Marc de Hoop:
patch #7606 ATtiny43u support
* avrdude.conf.in (ATtiny43U): New entry.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1224 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 15:34:56 +00:00
joerg_wunsch bbc0e35dfe patch #5708 avrdude should make 10 synchronization attempts instead of just one
* stk500.c (stk500_getsync): Loop 10 times trying to get in
sync with the programmer.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1223 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 14:59:15 +00:00
joerg_wunsch 5d95ada0e1 Contributed by Ricardo Martins:
bug #36384 ATxmega32A4 usersig size
* avrdude.conf.in: Revamp all the ATxmega* entries.  Add new
entries for ATxmega128A1U, ATxmega128A3U, ATxmega128A4U,
ATxmega128B1, ATxmega128B3, ATxmega128C3, ATxmega128D3,
ATxmega16A4U, ATxmega16C4, ATxmega192A3U, ATxmega192C3,
ATxmega192D3, ATxmega256A3BU, ATxmega256A3U, ATxmega256C3,
ATxmega256D3, ATxmega32A4U, ATxmega32C4, ATxmega384C3,
ATxmega384D3, ATxmega64A1U, ATxmega64A3U, ATxmega64A4U,
ATxmega64B1, ATxmega64B3, ATxmega64C3, ATxmega64D3



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1222 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 13:02:51 +00:00
joerg_wunsch 27389d23bf bug #35456 The progress bar for STK500V2 programmer is "wrong".
* avr.c (avr_read, avr_write): Change the progress reporting for
paged read/write from per-address to per-considered-page.  This
ought to give a realistic estimation about the time still to be
spent.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1220 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 09:42:47 +00:00
joerg_wunsch a4196a12b5 bug #34277: avrdude reads wrong byte order if using avr911 (aka butterfly)
* butterfly.c (butterfly_read_byte_flash): Swap bytes received.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1219 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 06:54:53 +00:00
joerg_wunsch 61b3035c3d bug #37768 Poll usbtiny 100 times at init time to handle low-clock devices
Add a FAQ entry describing the method to connect to a device
where the firmware has reduced the internal clock speed.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1218 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-12 11:20:03 +00:00
joerg_wunsch 065a878a46 bug #28344 chip_erase_delay too short for ATmega324P, 644, 644P, and 1284P
* avrdude.conf: Bump the chip_erase_delay for all ATmega*4 devices
to 55 ms.  While the datasheet still claims 9 ms, all the XML files
tell either 45 or 55 ms, depending on STK600 or not.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1217 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-11 16:27:50 +00:00
joerg_wunsch f3e332ceba * fileio.c (fileio): Don't exit(1) if something goes wrong; return
-1 instead.  Don't refer to obsolete option -f to specify the file
format.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1216 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-11 09:21:37 +00:00
joerg_wunsch 97a55c36e2 Submitted by Matthias Trute:
bug #36901 flashing Atmega32U4 EEPROM produces garbage on chip
* avrdude.conf.in (ATmega32U4): Fix EEPROM pagesize to 4, the
datasheet is wrong here.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1215 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-10 15:58:40 +00:00
joerg_wunsch bbf9488bf6 Check for ar and ranlib in the target tool namespace, rather than on
the host.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1214 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-09 15:00:36 +00:00
joerg_wunsch 016c452d92 Fix byte-wise EEPROM and flash writes on Xmega
* jtagmkII_private.h (MTYPE_EEPROM_XMEGA): New memory type.
* jtagmkII.c (jtagmkII_write_byte): For Xmega EEPROM, use
memory type MTYPE_EEPROM_XMEGA; for flash writes, always
write 2 bytes starting on an even address.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1212 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-08 19:57:58 +00:00
joerg_wunsch ba8b2ebb53 Implement and document the "verbose" terminal mode command.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1211 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-08 19:31:48 +00:00
joerg_wunsch 3fcf8a6067 * jtag3.c (jtag3_write_byte): Do not attempt to start the paged
algorithm for EEPROM when being connected through debugWIRE.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1210 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-07 20:40:29 +00:00
joerg_wunsch 038807958e Extend the single-byte algorithm to all devices, both flash and
EEPROM.  (Flash cells must have been erased before though.)
* jtag3.c (jtag3_initialize): OCDEN no longer needs to be
considered; a session with "programming" purpose is sufficient
* jtag3.c (jtag3_write_byte): Use the paged algorithm for all
flash and EEPROM areas, not just Xmega.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1209 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-06 07:06:13 +00:00
joerg_wunsch 8daa7cecd4 Fix single-byte EEPROM updates on Xmega:
* jtag3_private.h (MTYPE_EEPROM_XMEGA): New define.
* jtag3.c (jtag3_write_byte): When updating flash or
EEPROM on Xmega devices, resort to jtag3_paged_write()
after filling and modifying the page cache.
* jtag3.c (jtag3_paged_write): use MTYPE_EEPROM_XMEGA
where appropriate.
* jtag3.c (jtag3_initialize): Open with debugging intent
for Xmega devices, so single-byte EEPROM updates will
work.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1208 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-05 21:18:01 +00:00
joerg_wunsch 52b06ab995 Submitted by Matthias Neeracher:
bug #38732: Support for ATtiny1634



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1207 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-04 06:36:19 +00:00
joerg_wunsch bc52ef2cf5 Submitted by Brane Zdralo:
patch #7769: Write flash fails for AVR910 programmers
* avr910.c (avr910_paged_write): Fix flash addresses in
'A' command.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1206 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 21:43:24 +00:00
joerg_wunsch 2f00bdcac5 Submitted by Fred (magister):
bug #38951: AVR109 use byte offset instead of word offset
patch #8045: AVR109 butterfly failing
* butterfly.c (butterfly_paged_load, butterfly_paged_write):
fix calculation of 'A' address when operating on flash memory.
It must be given in terms of 16-bit words rather than bytes.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1205 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 21:24:16 +00:00
rliebscher 5eca827eb3 * avrftdi.c, avrftdi_private.h: added tx buffer size, and use smaller block sizes as larger sometimes hang
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1204 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 20:33:52 +00:00
joerg_wunsch ad15b61b0b Remove the erase cycle counter (options -y / -Y).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1203 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 20:13:37 +00:00
joerg_wunsch d3934de629 bug #39691 Buffer overrun when reading EEPROM byte with JTAGICE3
* jtag3.c (jtag3_initialize): initialize the eeprom_pagesize
private attribute so the page cache will actually be usable



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1202 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 11:58:31 +00:00
joerg_wunsch ce90fe7b74 bug #38580 Current svn head, xmega and fuses, all fuses tied to fuse0
* jtag3.c (jtag3_read_byte, jtag3_write_byte): Correctly apply the
relevant part of mem->offset as the address to operate on.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1201 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 11:32:47 +00:00
joerg_wunsch 8426fe578c Fix all "unused variable" warnings that were encountered.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1200 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-03 11:05:13 +00:00
joerg_wunsch 6341b31c6a Submitted by Travis Griggs:
bug #38307: Can't write usersig of an xmega256a3
* stk500v2.c (stk600_xprog_page_erase): allow erasing the usersig space.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1199 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 21:10:44 +00:00
joerg_wunsch 008865a6f7 Submitted by Robert Niemi:
bug #35800: Compilation error on certain systems if parport is disabled
* linux_ppdev.h: Conditionalize inclusion of <linux/parport.h> and
<linux/ppdev.h> on HAVE_PARPORT




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1198 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 20:53:12 +00:00
joerg_wunsch 12de7132f3 bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4
* pickit.c (usb_open_device): Use %p rather than %X to print "handle"
which is a pointer
* jtag3.c (jtag3_initialize): Initialize "flashsize" to be sure it
proceeds with a valid value.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1197 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 20:30:09 +00:00
joerg_wunsch b835ec2d6e bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4
* buspirate.c: Turn the "cmd" argument of the various methods into
a "const unsigned char *"; while doing this, declare all arrays being
passed as arguments to be pointers rather than arrays, as the latter
obfuscates the way arrays are being passed to a callee in C.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1196 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 20:22:53 +00:00
joerg_wunsch 24eb12d3f5 bug #38023: avrdude doesn't return an error code when attempting
to upload an invalid Intel HEX file
* fileio.c (ihex2b): Turn the "No end of file record found" warning
into an error if no valid record was found at all.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1195 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 18:18:15 +00:00
joerg_wunsch a678239bb0 Submitted by Claus-Justus Heine:
bug #38713: Compilation of the documentation breaks with texinfo-5
* doc/avrdude.texi: Turn @itemx into @item, add @headitem to STK600
Routing/Socket card table



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1194 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 17:56:01 +00:00
joerg_wunsch d6459a2382 Add -vvv trace code to the non-TPI functions in USBasp, too.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1192 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-02 06:43:06 +00:00
joerg_wunsch 886f05982b * usbasp.c (usbasp_tpi_paged_load): Calculate correct
buffer address.
* usbasp.c (usbasp_tpi_paged_write): Calculate correct
buffer address; don't issue a SECTION_ERASE command for
each page (a CHIP_ERASE has been done before anyway);
remove the code that attempted to handle partial page
writes, as all writes are now done with a full page.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1191 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-01 20:54:56 +00:00
joerg_wunsch 2ca1323540 Add more trace output, by now only to the TPI functions.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1190 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-01 20:48:17 +00:00
joerg_wunsch 453761106e Add -vvvv trace output to usbasp_transmit().
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1189 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-08-31 07:32:18 +00:00
joerg_wunsch cc0f65e60e bug #39893: Verification failure with AVRISPmkII and Xmega
* stk500v2.c (stk600_xprog_page_erase): Fix argument that is
passed to stk600_xprog_memtype()



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1188 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-08-30 06:49:40 +00:00
joerg_wunsch 2d503ce900 * fileio.c (elf2b): replace elf_getshstrndx() by
elf_getshdrstrndx() as the former one is deprecated



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1187 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-07-11 21:43:11 +00:00
rliebscher 54c0c173df use bitbanging on ftdi mpsse when wrong pins are used
* avrftdi.c, avrftdi_private.h: added additional pin check and bitbanging fallback
	* pindefs.[ch]: added a flag to enable/disable output
	* ft245r.c: changes because of added flag above

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1184 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-06-19 17:40:32 +00:00
joerg_wunsch 9e321a0ead Submitted by "Malte" and John McCorquodale:
patch #7876 JTAGICE mkII fails to connect to attiny if debugwire
is enabled AND target has a very slow clock
* jtagmkII.c (jtagmkII_getsync): When leaving debugWIRE mode
temporarily, immediately retry with ISP, rather than leaving.
* stk500v2 (stk500v2_program_enable): Implemented similar logic
for the JTAGICE3.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1183 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-17 16:23:55 +00:00
joerg_wunsch 6cee055fa6 Wrap long lines.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1182 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-17 16:09:55 +00:00
rliebscher 65892fa344 * configure.ac: reactivate check for TYPE_232H, which does not exist in libftdi < 0.20
* avrftdi*.*: changed include check for libftdi/libusb, deactivate 232H if not available
* ft245r.c: changed include check for libftdi/libusb

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1180 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-16 17:11:35 +00:00
joerg_wunsch a305ac0143 Add option -l logfile to redirect diagnostic messages to a logfile rather
than stderr.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1179 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-16 09:11:32 +00:00
joerg_wunsch 4a1d97ff2a Break long lines.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1178 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-16 08:11:19 +00:00
rliebscher e087b21200 * configure.ac: if both found libftdi and libftdi1 use only libftdi1
* avrdude.conf.in: fixed buff pins of avrftdi programmers (low active buffer need now inverted numbers)
	* avrftdi*.*: accept also old libftdi (0.20 still works with it), added powerup to initialize
	* ft245r.c: accept libftdi1, code cleanup and make it more similar to avrfdti (os they might be merged someday)

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1175 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-15 18:55:19 +00:00
joerg_wunsch e95ffee0c2 Bump version to 6.0rc1.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1173 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-08 17:35:28 +00:00
hweisbach 3f3ba207da avrftdi: add pgm->power[up|down], fix pgm->enable|disable
avrftdi.c: add pgm->power[up|down] functions and fill
pgm->enable|disable with proper functionality, as suggested by
rliebscher.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1171 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-07 08:50:13 +00:00
hweisbach eee1ae3973 avrftdi: apply patch by rliebscher.
Use pin_checklist[] of size N_PINS instead N_PINS - 1, to avoid future
problems. Also remove pins_check from set_pin; instead use mask[0] == 0
to check wether to do something or not.

avrftdi_private.h: Change size of pin_checklist[] to N_PINS.
avrftdi.c: Adapt code to new size of pin_checklist. Remove pins_check
from set_pin.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1170 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-07 08:50:06 +00:00
rliebscher 0e18b3fb3d * pindefs.h: use unsigned int if stdint.h is not available and UINT_MAX is 0xffffffff
otherwise use unsinged long
* ft245r.c: added support for more pin functions led, vcc, buff

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1169 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 19:21:38 +00:00
hweisbach fc7b83a267 avrftdi_tpi.[c|h]: integrate avr_tpi_[program_enable,chip_erase]()
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1168 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 12:50:42 +00:00
hweisbach b1eab6f93c avr.c: Adds avr_tpi_program_enable
Generic function enabling external programming on TPI devices. This
function sets the required guard time (which is passed in as parameter),
checks the TPI identification register, writes SKEY command + SKEY, and
finally polls the NVMEN bit in TPISR.

avr.h: Add prototype definitions of avr_tpi_program_enable() and
avr_tpi_chip_erase().
avrftdi_tpi.c: Removes tpi_skey_cmd array, containing the SKEY command
and the SKEY bytes.
tpi.h: Adds tpi_skey_cmd array, containing the SKEY command and the SKEY
bytes, but in the reverse order of tpi_skey.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1167 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 12:49:26 +00:00
hweisbach d46b2e880c avr.c: Add generic TPI chip erase function
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1166 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 12:43:47 +00:00
hweisbach ec6278b5a8 avrftdi: Change to new 0-based pin definitions
avrdude.conf.in: Change all programmers' pin definitions to 0-based
avrftdi.c: incorporate new 0-based pindef infrastructure
avrftdi_private.h: Add pin_checklist_t to avrftdi_t for runtime pin
checking in pgm->setpin.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1164 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 11:48:15 +00:00
hweisbach c8d3302128 avrftdi: Use pgm->setpin instead of pgm->cookie->set_pin
avrftdi.c: remove set_pin init, add pgm->setpin init
avrftdi_private.h: remove avrftdi_t->set_pin member
avrftdi_tpi.c: change avrftdi_t->set_pin calls to pgm->setpin.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1163 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 11:48:08 +00:00
joerg_wunsch 0e59564519 Include "ac_cfg.h" before testing for HAVE_* macros.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1162 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-06 09:54:27 +00:00
rliebscher e5b9551631 * main.c: revert to rev 1159 (doing pgm_display after pgm_open)
* avrpart.[ch]: moved avr_pin_name to pindefs.[ch]
* pgm.c: moved pins_to_str to pindefs.[ch], added initialization of 
          new pin definitions in pgm_new()
* pindefs.[ch]: added moved functions from other files, added a lot of 
          documentation, reformatted files using astyle to have consistent spacing,
          added a new generic check function for pins
* ft245r.c: used new generic pin check function

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1161 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-05 13:35:35 +00:00
rliebscher 22158cd03a Create new pin definition data structures to support 0-based pin numbers, and mixed inverse/non-inverse pin lists.
* avrftdi.c,buspirate.c,linuxgpio.c,par.c,serbb_*.c: added function call 
          to fill old pinno entries from new pin definitions.
	* pindefs.[hc]: added data struct and helper functions for new pin definitions
	* avrdude.conf.in: pins in entries using ftdi_syncbb are now 0-based
	* config_gram.y: allow combinations of inverted and non-inverted pins in pin lists
	* ft245r.c: reworked to work directly with the new pin definitions,
          pins are now 0-based, inverse pins are supported, buff is supported
	* pgm.[ch]: added new pin definitions field to programmer structure, 
          adapted pin display functions

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1160 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-03 22:35:00 +00:00
hweisbach a2ab9c6039 avrftdi_tpi.c: Remove set_pin() to set MOSI high
This is not necessary any more, because the "frame" ends in logic 1, so
the pin is high anyway and the MPSSE keeps the pin value as long as it
is idle. Setting the pin low would cause the TPI physical layer in the
AVR part to detect a collision.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1159 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-03 13:01:20 +00:00
hweisbach 779538b9af avrftdi_tpi.c: Update I/O to pgm->cmd_tpi
All I/O of avrftdi_tpi is done in terms of pgm->cmd_tpi() calls instead
of calling avrftdi_tpi_[read,write]_byte() functions directly.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1158 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-03 12:58:15 +00:00
hweisbach ff0edb786a avrftdi_private.h: Update forward declaration
avrftdi_print() is now avrftdi_log

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1157 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-03 12:55:24 +00:00
hweisbach 3067b2c8de avrftdi: move logging defines to avrftdi_private.h
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1156 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:07:37 +00:00
hweisbach 9c6c6d2f59 avr.c: Fix avr_tpi_poll_nvmbsy() polling returned data instead return
code

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1155 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:07:30 +00:00
hweisbach 7e1778019a Updates NEWS file with avrftdi's TPI support
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1154 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:07:22 +00:00
hweisbach 7cc2b783a3 avrftdi_private.h: Fix header include order in windows
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1153 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:07:16 +00:00
hweisbach 12ff2d6a20 Adds TPI-support for FTDI-based programmers with MPSSE
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1151 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:07:00 +00:00
hweisbach 0d9c0c5e9e tpi.h: Adds definition of TPI Identification code
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1147 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-05-02 11:06:30 +00:00
hweisbach fc709f2a84 Rework of textual output of avrftdi.
Messages are divided by severity and printed accordingly to verbosity, as
specified by the user. The provided severity level are (ERROR, WARN, INFO,
DEBUG, TRACE). Where "ERROR" messages are always printed. Shortcut-macros
including function, from which the output was generated, and line number were
also added. Some log messages were updated and other code warnings removed.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1143 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-04-28 19:35:26 +00:00
hweisbach a6f4aac8b1 Fixes bugs #38659 and #38831
Apparently, doing too large read/write I/O on the MPSSE fills up the RX Buffer
of the chip, resulting in STALL/NAK of additional transactions of an OUT request.
Since the OUT request is issued synchronously, an appropriate IN request cannot
be issued, resulting in a deadlock.
This problem is handled by submitting small enough OUT requests, that will not
fill up the RX buffer and interleaving them with IN requests.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1142 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-04-27 21:49:27 +00:00
hweisbach 2a3ecd0672 Updates avrftdi to use libftdi1
This includes adding libftdi1 to configure.ac and Makefile.am.
avrftdi code is changed to use libftdi1. At the same time device
discovery is moved to libftdi1. Some error and debug messages in
avrftdi are corrected and/or updated. avrftdi_print is updated,
to print all messages whose verbosity level is less or equal to
the global verbosity level, so that messages with level 0 are always
printed.
This change is tested on OS X 10.6.8, Ubuntu 12.04.2 and Win7 x86_64.
The Win7 version was cross-compiled on OS X 10.6.8.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1141 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-04-27 20:52:01 +00:00
joerg_wunsch 31618cb6df Replaces the old AM_CONFIG_HEADER by AC_CONFIG_HEADERS; automake 1.13+
barfs.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1140 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-04-25 20:14:44 +00:00
joerg_wunsch 9ad7888bc0 Add new devices: ATmega2564RFR2, ATmega1284RFR2, ATmega644RFR2
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1139 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-03-12 10:07:56 +00:00
rliebscher a8c3a0973a patch #7724 Add TPI support for Bus Pirate using bitbang mode
* buspirate.[ch]: added support for BusPirate Bitbanging
	* avrdude.conf.in: added entry for buspirate_bb
	* pgm_type.c: added entry for buspirate_bb


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1138 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-30 21:15:39 +00:00
rliebscher 825c570746 patch #7936 Patch to support BusPirate AVR Extended Commands mode
* buspirate.c: added support for BusPirate AVR Extended Commands mode
	* avrdude.1: added doc for nopagedread parameter
	* doc/avrdude.texi: added doc for nopagedread parameter


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1137 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-30 18:56:31 +00:00
rliebscher f33873b1ba patch #7723 Bus Pirate “raw-wire” mode which can run down to 5 kHz
* buspirate.c: added raw wire mode
	* avrdude.1: added doc for rawfreq parameter
	* doc/avrdude.texi: added doc for rawfreq parameter

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1136 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-30 17:58:48 +00:00
rliebscher a4dbfc95fa bug #37977 Support for Openmoko Debug Board
* avrdude.conf.in: added openmoko entry

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1135 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-30 16:46:31 +00:00
rliebscher 707e6634c1 patch #7932 Read USBtiny VID and PID from avrdude.conf if provided.
* avrdude.conf.in: added usbpid, usbvid to usbtiny
	* usbtiny.[ch]: use usbpid, usbpid if provided in config file

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1134 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-29 18:33:34 +00:00
joerg_wunsch c65baa766a bug #38172: avrftdi: Incorrect information in avrdude.conf
* avrdude.conf.in (avrftdi): fix comments about ACBUS vs. ADBUS;
add a comment that the MPSSE signals are fixed by the FTDI
hardware and cannot be changed



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1133 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-26 20:08:40 +00:00
rliebscher 8d6f310736 patch #7165 Add support for bitbanging GPIO lines using the Linux sysf GPIO interface
* doc/avrdude.texi,avrdude.1: added doc for linuxgpio 
	* avrdude.conf.in: added template for linuxgpio programmer
	* config_gram.y: pin numbers restricted to [PIN_MIN, PIN_MAX]
	* pindefs.h: added PIN_MIN, PIN_MAX, removed unused LED_ON/OFF
	* configure.ac: configure option enable-linuxgpio, print of enabled options
	* linuxgpio.[ch]: new source for linuxgpio programmer
	* Makefile.am: added linuxgpio to sources list
	* pgm_type.c: added linuxgpio to programmer types list

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1132 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-09 19:23:30 +00:00
joerg_wunsch 1b8fc9897d Replace some stray calls to putchar() by putc(..., stderr).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1131 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-08 21:02:01 +00:00
joerg_wunsch ac8b2858ad * usb_libusb.c (usbdev_open): Downgrade the max transfer size for
the main data endpoints when being forced so by the USB; this can
happen when attaching the JTAGICE3 to a USB 1.1 connection
* jtag3.c (jtag3_initialize): When detecting a downgraded max
transfer size on the JTAGICE3 (presumably, due to being connected
to USB 1.1 only), bail out as its firmware cannot properly handle
this (by now)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1129 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-02 10:16:37 +00:00
joerg_wunsch ef0ee7525f Annual ChangeLog rotation time.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1128 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-02 10:13:26 +00:00
joerg_wunsch 3cb37fffbe Annual ChangeLog rotation time.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1127 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-01-02 10:12:41 +00:00
joerg_wunsch 076e03472f * usbdefs.h (USBDEV_BULK_EP_WRITE_STK600)
(USBDEV_BULK_EP_READ_STK600): new define values
* stk500v2.c (stk600_open): use the STK600 EP values,
as they are different from AVRISPmkII



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1126 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-18 10:45:23 +00:00
joerg_wunsch 9dc65f6008 bug #37942: Latest SVN can't program in dragon_jtag mode
* jtagmkII.c (jtagmkII_initialize): For Xmega devices, and
firmware >= 7.x, don't trigger a RESET, in order to work around a
firmware bug that appears to be present in at least firmware 7.24
for the Dragon.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1125 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-18 09:20:06 +00:00
joerg_wunsch 05fd0beac1 * config_gram.y: Implement the "ocdrev" keyword
* avrpart.c: (Dito)
* avrpart.h: (Dito)
* lexer.l: (Dito)
* avrdude.conf.in: Add "ocdrev" key/value pairs, based
on the AS6 XML file information.
* jtag3.c: Use the ocdrev in the parameter block.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1124 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-04 13:59:37 +00:00
joerg_wunsch 1f7b134420 * jtag3.c: Make jtag3_command() public
* jtag3.h: (Dito.)
* jtag3_private.h: Add two new commands
* stk500v2.c: Implement the "MonCon disable" hack that
allows temporarily falling back to ISP when trying to
talk to a part that has debugWIRE enabled



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1123 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-03 21:03:06 +00:00
rliebscher 7f9f0633cd * pickit2.c: reordered #includes for non-usb configuration
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1122 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-03 20:50:11 +00:00
joerg_wunsch 3024312901 Enable interactive adjustment of the various
clock frequencies (JTAG Xmega, JTAG megaAVR, PDI Xmega)
through the set_sck_period() callback.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1121 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-03 16:52:23 +00:00
joerg_wunsch 707ddd2de9 Remove unused code that was left over from
cloning the jtagmkII.c implementation



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1120 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-03 16:09:34 +00:00
joerg_wunsch 97357595b6 * pgm_type.c: Add "jtagice3_isp" programmer hook
* avrdude.conf.in: Add "jtag3isp" programmer
* jtag3.c: jtag3_setparm() is now public
* jtag3.h: (Dito)
* stk500v2_private.h: Command 0x1D is CMD_SPI_MULTI only
for STK500v2, AVRISPmkII, and JTAGICEmkII; for JTAGICE3,
it's CMD_SET_SCK now; also add CMD_GET_SCK
* avrpart.c (avr_get_output_index): New function
* avrpart.h: (Dito)
* stk500v2.c: Implement the pasthrough programmer glue logic
for JTAGICE3 in ISP mode
* stk500v2.h: (Dito)
* avrdude.1: Document the JTAGICE3 support.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1119 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-12-03 15:52:38 +00:00
joerg_wunsch 4e0801803f * jtag3.c (jtag3_read_byte, jtag3_write_byte): Remove the
m->offset from addr, JTAGICE3 doesn't need it anymore (similar
to JTAGICEmkII with 7+ firmware)
* jtag3.c (jtag3_read_byte): Allow for full-page reads of
EEPROM also for Xmega and debugWIRE, allow for signature
read in debugWIRE




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1117 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-30 12:51:07 +00:00
joerg_wunsch d8ad0fdb28 * jtag3_private.h: Add two more error detail codes I stumbled
across during development
* jtag3.c: (Dito.)
* usb_libusb.c: Reduce timeouts from 100 to 10 s, still long
enough, but not getting cold feet when something goes wrong.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1116 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-30 12:36:00 +00:00
joerg_wunsch fa86937e91 * jtag3.c: Handle events returned by the ICE
* usbdevs.h: Add defines that mark an event in return
from usb_recv_frame().
* usb_libusb.c: (Dito.)



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1115 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 21:43:54 +00:00
joerg_wunsch fca08c90ab Implement page erase functionality.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1114 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 16:20:48 +00:00
joerg_wunsch 180c000565 * avrdude.conf.in: Remove "has_jtag" from Xmega A4 and D4
devices, as they only have PDI.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1113 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 14:23:18 +00:00
joerg_wunsch a1349681e1 bug #37265: wrong page sizes for XMega64xx in avrdude.conf
* avrdude.conf.in: Fix page sizes for all Xmega devices,
by cross-checking against Atmel Studio's device XML files




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1112 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 14:12:41 +00:00
joerg_wunsch 8d9a00ddc5 * jtag3.c: Fill in the missing pieces for Xmega support (both,
PDI and JTAG).
* jtagmkII.c (jtagmkII_set_xmega_params): Use "fuse1" rather
than "fuse0" memory space to fill in the NVM offset from, as
there is no "fuse0" on some Xmega devices.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1111 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 13:31:11 +00:00
joerg_wunsch 66b46eb591 Add device support for the recently released ATmega*RFR2 family.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1110 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-29 09:32:27 +00:00
joerg_wunsch ed3033e396 First support for Atmel JTAGICE3. Guessed from USB sniffer
traces made by Knut Schwichtenberg, and by similarity to
JTAGICEmkII.

Still quite incomplete, just megaAVR/JTAG is done by now.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1109 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-28 22:39:01 +00:00
joerg_wunsch 3fabed6ea5 Change all the USB details (endpoint numbers, max transfer size etc.)
to a per-programmer adjustable value.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1108 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-26 16:24:56 +00:00
joerg_wunsch 8fdf4d4071 Replace outdated FSF postal address by a reference to
the GPL info on their website.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1107 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-20 14:03:50 +00:00
rliebscher 52e3323b6e bug #35186 inverting pins with "~" doesn't work for pin lists (i.e. vcc)
bug #37727 Add support for LM3S811 dev board as a programmer
* lexer.l,config_gram.y: accepting inverted pins at pin lists 
	        syntax: ~num or ~(num,num,...)
* par.c: par_set_many_bits is now usable with inverted pins
* avrftdi.c: fixed wrong index in ftdi_pin_name
* avrdude.conf.in: added programmer lm3s811

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1106 81a1dc3b-b13d-400b-aceb-764788c761c2
2012-11-13 21:34:02 +00:00
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