definitions that are organized in pages.
* avr.c (avr_write_byte_default): Consider using the loadpage
instructions only if the respective memory is marked "paged".
Closes bug #17199: EEPROM fails verification on ATmega645 with
pony-stk200 hardware
Closes bug #16849: EEPROM write fails for AT90USB1287 with mode 0x41
Closes bug #15146: stk500v2_paged_write: loadpage instruction not
defined for part
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@622 81a1dc3b-b13d-400b-aceb-764788c761c2
AVR910 and AVR109. Change avr910_devcode of the ATtiny2313 to 0x5e
(ATtiny26).
Closes bug #16671: Tiny2313 avr910_devcode is bad
Closes bug #15826: avr910 device type for ATmega8 wrong
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@620 81a1dc3b-b13d-400b-aceb-764788c761c2
lock memory spaces of all devices where they have been missing. Add
the lock memory space to the ATmega48 section.
Closes bug #14920: tiny2313 fuses and AVRDUDE 5.0
Closes bug #15751: atmega48: no lock bits defined
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@619 81a1dc3b-b13d-400b-aceb-764788c761c2
* stk500v2.c: Add new functions for HVSP support.
* stk500v2.h: Add prototype for the stk500hvsp programmer.
* avrpart.h: Add fields to struct avrpart for new features.
* config_gram.y: Extend the configuration syntax for new
features required for HVSP support.
* lexer.l: (Ditto.)
* avrdude.conf.in: Add HVSP support for ATtiny13 and
ATtiny45 as an example.
* avrdude.1: Document stk500hvsp.
* doc/avrdude.texi: (Ditto.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@595 81a1dc3b-b13d-400b-aceb-764788c761c2
Fix the non-paged write operations for old AVRs.
In avrdude.conf.in, use the new PP mode parameters; add PP mode
definitions for AT90S8515.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@591 81a1dc3b-b13d-400b-aceb-764788c761c2
jtag2 and bitbang programmers are working, stk500v2
still needs to be done.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@581 81a1dc3b-b13d-400b-aceb-764788c761c2
Add the "atisp" programmer entry that makes use of negated signals.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@578 81a1dc3b-b13d-400b-aceb-764788c761c2
The 64 KB devices are actually guessed, as the datasheet and XML
files obviously contain a number of errors there.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@576 81a1dc3b-b13d-400b-aceb-764788c761c2
Contributed by Wim Lewis, add support for checking device
signatures in detail (patch #4924 and #4925)
* avrdude.conf.in: Add signatures
* avrpart.c: Set default signature
* avrpart.h: Variable for signature
* config_gram.y: More signature reading
* lexer.l: Define that signatures exist
* main.c: Read signatures and check them against hardware
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@573 81a1dc3b-b13d-400b-aceb-764788c761c2
AVRISP mkII device. (Savannah patch #4789.)
* serial.h: Declare usb_serdev_frame device descriptor.
* stk500v2.c: Implementation of the AVRISP mkII handling.
* usb_libusb.c: Add USB handling for short-frame delimited
AVRISP mkII USB protocol; add distinction of different
devices in usbdev_open().
* jtagmkII.c: Tell usbdev_open() to search for the JTAG ICE mkII.
* usbdevs.h: (New file.)
* Makefile.am: Add usbdevs.h, as well as some other forgotten
files "make distcheck" complained about.
* avrdude.conf.in: Add more aliases for the AVRISP mkII.
* avrdude.1: Document how to use the AVRISP mkII.
* doc/avrdude.texi: (Ditto.)
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@564 81a1dc3b-b13d-400b-aceb-764788c761c2
ATmega48/88/168; the datasheet is a bit off here as well.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@560 81a1dc3b-b13d-400b-aceb-764788c761c2
The very basic functionality (paged flash read/write, erase, terminal
mode reads, fuse writes) works fine. There are still the following
issues right now:
. paged EEPROM write (i.e. through -U eeprom:w:...) only works on an
erased EEPROM
. byte-access flash and EEPROM writes (i.e. in terminal mode) fail
. documentation needs to be updated still
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@547 81a1dc3b-b13d-400b-aceb-764788c761c2
-added support for ATMega168, patch #4532 thanks to Manfred Bartz
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@544 81a1dc3b-b13d-400b-aceb-764788c761c2
* Makefile.am: distclean avrdude.conf.
* avrdude.conf.in: make the parallel-port programmers optional.
* bitbang.c: move the bitbang features out into PROGRAMMER.
* configure.ac: introduce --enable-parport, add Solaris.
* lexer.l: replace str by strng to work around problems in some
versions of flex.
* main.c: move getexitspecs into the respective programmer's
domain; replace rindex by the C-standard strrchr.
* par.c: make parallel port optional.
* par.h: everything but par_initpgm() is private now.
* pgm.h: add setping/getping/highpulsepin/getexitspecs.
* serbb_posix.c: generalize bitbang interface; replace
cfmakeraw() by explicit code.
* serbb_win32.c: generalize bitbang interface.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@539 81a1dc3b-b13d-400b-aceb-764788c761c2
was the whole programmer submission which was already added through
another request, but the former lacked the VCC definition. Pick it up
from this patch.
Submitted by: tmohr@s.netic.de
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@511 81a1dc3b-b13d-400b-aceb-764788c761c2
match the XML file.
This fixes
bug #7492: EEPROM writing fail on atmega103 with atavrisp
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@509 81a1dc3b-b13d-400b-aceb-764788c761c2
one.
This closes
bug #11496: Memory bank calibration on atmega128 should have 4 bytes
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@506 81a1dc3b-b13d-400b-aceb-764788c761c2
This fixes EEPROM access using the STK500V2 programmer, partially
undoing part of a previous general fixup commit. Choose the correct
read/write operations with the stk500v2 program function - the correct
one depends on the memory type. EEPROM is byte addressable so uses
read/write. FLASH is word addressable and so uses read_lo/write_lo.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@501 81a1dc3b-b13d-400b-aceb-764788c761c2
that way. ;-) For those who want the 19200 Bd one, add "jtag2slow".
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@495 81a1dc3b-b13d-400b-aceb-764788c761c2
to 'i' (input). Even though this bit should be ignored, it should not
be changed. The 'x' setting sets the bit to zero which programs it
and could cause undefined behaviour. Setting to 'i' enables it to be
rewritten to its old value.
A better solution might be to read the fuse byte, apply the new value
while leaving the 'x' bit alone, then writing the value back. The
current fix is a workaround which allows the developer to change the
bit.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@494 81a1dc3b-b13d-400b-aceb-764788c761c2
#13693, #13871, and #14212.
This provides bug fixes to the STK500V2 programmer type. From the
patch information:
- incorrect token used from avrdude.conf.in
- wrong command sent to programmer, hence no write to eeprom.
- programmer was said to start writing at 0x0000 and continue page
by page and was not repositionned when a gap was found in the
hex file, or when the hex file start address was not
0x0000. Hence the verify procedure was correct, not the write
procedure.
- speed up of flash write to skip empty pages (full of 0xFF) by
re-enabling a dedicated function for that task.
- stk500v2_paged_load() was not returning the number of byte read,
so empty hex files were generated when reading memory.
Submitted by: Bernard Fouch <bernard.fouche@kuantic.com>
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@490 81a1dc3b-b13d-400b-aceb-764788c761c2
appears to have a complete XML description right now.
Document all the recently added new devices: AT90PWM2/3,
ATmega164/324/644, ATmega329x/649x, ATtiny25/45/85.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@489 81a1dc3b-b13d-400b-aceb-764788c761c2