Commit Graph

179 Commits

Author SHA1 Message Date
Joerg Wunsch 95da7a137b bug #41561: AVRDUDE 6.0.1/USBasp doesn't write first bytes of
flash page
* usbasp.c (usbasp_spi_paged_write): Remove USBASP_BLOCKFLAG_LAST.
It is no longer needed, as we always write full pages now in paged
write mode.

This prevents each flash page from being written twice, where the
second attempt on older devices (ATmega64/128) signalled an immediate
"ready" condition when polling (likely a silicon bug) even though they
were still in progress.  This caused the USBasp firmware to proceed,
and fill the page buffer anew which eventually caused the data
corruption.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1343 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-11-20 09:20:44 +00:00
Joerg Wunsch 3d5beb40df bug #42267: jtag3isp fails to read lock and fuse bytes directly
after changing lock byte
* stk500v2.c (stk500isp_write_byte): As a workaround for broken
tool firmware, add 10 ms of delay before returning from any
single-byte write operation.



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1337 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-10-07 15:21:14 +00:00
Joerg Wunsch b348d97620 * stk500v2.c: Use stk500isp_read_byte/stk500isp_write_byte for
every byte-wide access (rather than JTAGICE3 only).  This finally
obsoletes the use of the prehistoric SPI_MULTI command where
AVRDUDE used to assemble all the low-level ISP stuff by itself.




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1336 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-10-06 22:15:29 +00:00
Joerg Wunsch 361e948a7a bug #22248: Read efuse error
* avrdude.conf.in (m168, m328, m48, m88, t1634, t26, t261, t461,
t861, t88): In efuse (or hfuse for t26) read operation, turn all
bits in byte 3 from "x" to "o" (output); this is a first step
towards fixing the symptoms mentioned in the bug, by unifying the
behaviour between different AVRs.  Not touched are the historic
devices where the fuses are not documented to form a full byte
each (2333, 4433, 4434, 8535, m103, m161, m163).



git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1335 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-10-06 13:35:14 +00:00
Joerg Wunsch d69b85c974 Bump everything for post-6.1-release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1295 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-03-12 23:15:46 +00:00
Joerg Wunsch 3e0b544560 Bump version to 6.1; prepare for release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1291 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-03-12 22:34:08 +00:00
Joerg Wunsch b9420a9831 bug #40782: Verify errors for object size > 16 k on x32e5 due
to typo in avrdude.conf
* avrdude.conf.in (ATmega8E5, ATmega32E5): fix boot location




git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1289 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-03-12 21:08:05 +00:00
Joerg Wunsch e4abb62ddb Add the new Atmel-ICE, in all of JTAG, PDI, dW, and ISP modes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1288 81a1dc3b-b13d-400b-aceb-764788c761c2
2014-02-28 14:36:38 +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 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 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 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 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 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
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
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 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 50829615d9 Few minor clarifications.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1235 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-16 19:23:21 +00:00
Joerg Wunsch 956dc66196 Mention the libelf/libelf-devel requirement for the ELF feature.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1234 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-16 15:05:44 +00:00
Joerg Wunsch c152ab3778 In preparation for a release, move the new (partially incompatible with the
previous version) features on top so they will become immediately apparent
in the release notes.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1233 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-16 15:01:39 +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 465877b074 Fix some stray <TAB> characters.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1230 81a1dc3b-b13d-400b-aceb-764788c761c2
2013-09-13 21:46:21 +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 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 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 e5501feb43 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 44069c7b69 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 e074890fc0 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 715249e2d4 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 0f5af86c9f 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
Joerg Wunsch 8ed6920948 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 770d26689b 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 05a952b027 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 e2a78468d0 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 f051a3a6e0 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 db1cce8bf4 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 51da59044e 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 088ae8196a 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