Commit Graph

864 Commits

Author SHA1 Message Date
Joerg Wunsch
343330fddd Turn the usbpid parameter of the programmer into a list of PIDs. Make
the JTAGICE3 programmer handle a list of PIDs, by trying each of them
in sequence.  Use a single, central jtag3_open_common() function to
handle the common code of all jtag3_open_* functions.  Centralize all
USB VID/PID definitions in usbdevs.h.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1283 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-27 13:06:03 +00:00
Joerg Wunsch
b363c7b710 In usbdev_open(), replace all calls to exit(1) by return -1.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1279 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-27 07:20:32 +00:00
Joerg Wunsch
e59df50eeb Implement the Atmel EDBG/CMSIS-DAP driver protocol for JTAGICE3
(running firmware 3.x) and XplainedPro boards.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1278 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-26 17:54:32 +00:00
Joerg Wunsch
7f2079731b In usbdev_recv_frame(), fix a bug where a new recv request was issued
even though all desired data had aldready been received.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1277 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-22 20:30:16 +00:00
Joerg Wunsch
f80f51f6a9 Change the second parameter of the ser_open method from "baud" into a
"union pinfo", so the USB parameters can be passed without hacks.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1276 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-21 13:44:11 +00:00
Joerg Wunsch
2dab4109fe #include <stdint.h> so uint16_t is correctly defined.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1275 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-30 12:53:27 +00:00
Joerg Wunsch
eed99eb1a9 Fix EEPROM size of ATmega256RFR2 et al.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1274 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-28 22:01:47 +00:00
Joerg Wunsch
9ec6cf8e32 [bug #41357] OS X: Avrdude messes with the usb stack?
* usb_libusb.c (usbdev_close): Only issue the usb_reset() for
Linux systems, as these are the only ones that seem to require
it under some circumstances.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1273 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-27 21:15:28 +00:00
Joerg Wunsch
8437de71d1 * configure.ac (libelf): check against elf_getshdrstrndx() rather
than just elf_begin() only, so it is clear we found a sufficiently
recent libelf to work with.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1272 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-22 10:44:18 +00:00
Joerg Wunsch
78133fdfba Update bug ID for STK500v1 patch for devices > 128 KiB.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1271 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-22 07:51:33 +00:00
Joerg Wunsch
83ec8ba013 Contributed by Alan Horstmann:
Fix handling of devices > 128 KiB in stk500v1 protocol
* stk500.c: Implement extended address byte handling.
* avrdude.conf.in (ATmega2560): enable stk500_devcode so
STK500v1 protocol actually starts at all.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1270 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-22 07:42:18 +00:00
Joerg Wunsch
4c645d7945 Implement the meat of FLIP version 1 protocol, and document it.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1269 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-17 16:54:33 +00:00
Joerg Wunsch
fcb5db7152 * flip2.c (flip2_page_erase): Remove unimplemented function.
* dfu.h: Correctly conditionalize <usb.h> vs. <lusb0_usb.h>;
add adjustable timeout (struct dfu_dev); add dfu_abort()
* dfu.c (dfu_abort): New function; implement adjustable timeout.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1268 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-01-17 14:00:01 +00:00
Joerg Wunsch
74e1b66a67 * 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
88ea96e5e5 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
3ace80a0e8 * 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
b82aca47d5 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
e2462d535f 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
efc87b6d2e 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
a323e4b9ec 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
Nils Springob
7133e90113 * 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
a863762f4d 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
8fa7417923 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
Rene Liebscher
1c401d5d08 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
Rene Liebscher
3b793351bb 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
Nils Springob
d2ba956ba8 * 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
Hannes Weisbach
a35a9be511 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
dbec4af8d9 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
Hannes Weisbach
367ea3263a 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
Hannes Weisbach
943b1e0ed4 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
e8df20d480 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
3b4dd795b2 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
e5f1e08389 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
e59b190654 * 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
c6e9e34e98 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
6a62e04886 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
029b154852 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
5dbde0ca20 * 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
dc1bacb7cb 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
df18e6c882 (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
3203d8c054 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
e358e7079e 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
60827c3e3e 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
e8333c598b 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
8cb5916192 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
9697ebe2ec 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
5113b8051a 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
ef621bc443 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
a72d7911e1 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
e814b615b2 * 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