Commit Graph

809 Commits

Author SHA1 Message Date
joerg_wunsch 9b2be8e3fb Fix all bugs in the stk500pp implementation.
Eliminate pagebuf, and use stack-allocated buffers instead.  The
pagesize of all current AVRs is at most 256 only anyway, and this is
unlikely to change with the STK500v2 protocol.  The previous pagebuf
implementation suffered from some possible buffer overrun.

In stk500pp_write_page(), do always write full pages, rather than
attempting to write a partial last page which did not get written at
all.  Fill the remaining bytes with 0xff.

For (paged) write operations, correctly synthesize the mode byte.
This mode byte is very different from the ISP mode byte (sigh).

In stk500pp_read_byte(), when performing read operations on paged
memory, start reading at the previous page boundary rather than the
current address.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@589 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-07-17 21:25:59 +00:00
joerg_wunsch 4d465fe0ac Use mem->desc in place of upd->memtype in more places to
give the full name of the respective memory area, instead of
the (possibly abbreviated) name the user typed in the -U option.

(Previous attempt in rev 1.110 was obviously not complete.)


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@588 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-07-17 19:58:50 +00:00
joerg_wunsch 39ecfefa7d First stab at an implementation of the STK500 parallel programming
feature (v2 firmware only), named "stk500pp".  Still not yet
complete: EEPROM writes not working, documentation missing, only
ATmega16 parameters available in avrdude.conf.in, some parameters
not yet implemented.

* avrdude.conf.in: Add sample parameters for PP mode to ATmega16.
* avrpart.h: Add the parallel programming control parameters.
* avrpart.c: (Ditto.)
* config_gram.y: Add stk500pp configuration grammar.
* lexer.l: Add stk500pp token recognition.
* stk500v2.h: Add declaration for stk500pp_initpgm().
* stk500v2.c: Add stk500pp implementation.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@587 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-07-16 21:30:14 +00:00
joerg_wunsch 0970c1295e Fix the signatures for the ATmega164/324 devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@586 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-07-11 21:05:33 +00:00
joerg_wunsch b03c1ffadc Enter the signatures for the ATmega164/324/644 devices.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@585 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-07-10 20:24:27 +00:00
joerg_wunsch 024ef322d7 Implement extended addressing needed for the ATmega256x devices.
Document ATmega256x support.  Also document Solaris port defaults
in avrdude.texi.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@584 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-05-25 14:38:08 +00:00
joerg_wunsch b08245bd37 Fix date in last commit.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@583 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-05-23 22:37:17 +00:00
joerg_wunsch f5b91da5ae Mention ATmega256x support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@582 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-05-23 22:28:43 +00:00
joerg_wunsch ebdce5f3ef Start implementing support for ATmega256x;
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
2006-05-23 22:27:43 +00:00
joerg_wunsch ae31b7ed90 Fix syntax error in previous commit (missing semicolon).
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@580 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-04-21 12:50:17 +00:00
joerg_wunsch bc7143a03d Contributed by Julius Luukko <Julius.Luukko@lut.fi>:
Add the "ere-isp-avr" programmer.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@579 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-04-18 15:32:01 +00:00
joerg_wunsch 855376ba00 Contributed by Bram Daams:
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
2006-04-14 12:18:39 +00:00
joerg_wunsch 6f06530404 Add logic to handle inverted signals for parallel ports as well, using
a tilde in avrdude.conf.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@577 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-04-13 20:10:55 +00:00
joerg_wunsch a37080cc24 Add support for AT90USB646/647/1286/1287.
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
2006-03-28 20:35:21 +00:00
joerg_wunsch de6c2f4369 Cosmetical changes: items are indented by one hard tab.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@575 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-03-28 19:37:54 +00:00
c_oflynn 90f6772cb0 Colin O'Flynn - March 23, 2006 - <coflynn@newae.com>
Contributed by Wim Lewis, fix a few typos (patch #4987)
    *avrdude.1: Typo fix


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@574 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-03-24 02:49:09 +00:00
c_oflynn c3f6c7e21c 2006-02-27 Colin O'Flynn <coflynn@newae.com>
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
2006-02-27 17:18:42 +00:00
joerg_wunsch 57adc8e8ef Fixed paged flash write operations for AT90PWMx devices
(error in datasheet).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@572 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-02-21 21:17:08 +00:00
joerg_wunsch ddcb75e230 This is now post-release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@571 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-23 21:04:13 +00:00
joerg_wunsch 8c6acad6e0 Pre-release mode.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@569 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-23 20:53:59 +00:00
c_oflynn c1bd17edb2 * main.c, stk500v2.c: Added patch 4804 from eolson@mit.edu
Which stops sck from being writtend needlessly


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@568 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-17 21:11:39 +00:00
c_oflynn 7cc29c373c *avrdude.conf.in : Added bs2 and pagel to m162, patch 4766
CVS  ----------------------------------------------------------------------


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@567 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-17 21:01:25 +00:00
c_oflynn d0bd1ae69f Colin O'Flynn <coflynn@newae.com>
* main.c: Fixed a typo in safemode variable names, fixed bug 15113


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@566 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-17 20:17:43 +00:00
joerg_wunsch eadc4af2e0 Replace David's email address by his full name in the copyrights.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@565 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-12 23:24:35 +00:00
joerg_wunsch 108793bc7a Contributed by dcm@mit.edu: add support for the
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
2006-01-12 23:13:50 +00:00
joerg_wunsch 655094b681 Add EEPROM page instructions for the
ATmega169 so it will work for STK500v2.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@563 81a1dc3b-b13d-400b-aceb-764788c761c2
2006-01-12 20:56:43 +00:00
joerg_wunsch e42fc67bac Add support for ATtiny24/44/84.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@562 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-12-16 22:39:39 +00:00
c_oflynn 2f424ba099 *avrdude.conf.in: added support for m162 using stk500v2
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@561 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-12-07 19:19:20 +00:00
joerg_wunsch dc63f94428 Fix the number of significant bits for the efuse memory in
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
2005-12-01 19:55:17 +00:00
joerg_wunsch f2cf2650da Document the JTAG ICE mkI support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@559 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-29 22:58:04 +00:00
joerg_wunsch a3fe61cb2a Submitted by Galen Seitz:
patch #4459: Fix for rpm package builds
* avrdude.spec.in: update the RPM spec file:
  - Default to enable-doc=yes during configure.
  - Move info file to docs package.
  - Make building of docs package conditional.  Basic
    idea copied from avr-gcc.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@558 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-29 20:28:51 +00:00
joerg_wunsch 458ffc455a Submitted by someone who thinks he's called "Daper":
Fix bug #15013: Wrong use of PPICLAIM (kernel: ppdev0: claim the
port first)

* par.c: don't claim/release here (thus win_ppdev.h not needed
anymore)
* ppi.c: claim/release here.
* freebsd_ppi.h: ppi_claim/ppi_release now take an fd as parameter.
* solaris_ecpp.h: (Ditto.)
* linux_ppdev.h: (Ditto.)  (Also add copyright.)
* win_ppdev.h: Not needed anymore, remove.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@557 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-29 20:20:22 +00:00
joerg_wunsch d219669126 Fix the size of a response array.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@556 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-28 21:11:18 +00:00
joerg_wunsch f2705574ae Improve the communication startup with the ICE in particular after a
powerup.  Ideas taken from AVaRICE.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@555 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-28 20:46:21 +00:00
joerg_wunsch d4fc57ffc2 Enable parport access on x86_64 Linux and amd64 FreeBSD systems.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@554 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-28 09:47:23 +00:00
joerg_wunsch 089d072920 Add a forgotten newline at EOF.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@553 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-27 21:20:48 +00:00
joerg_wunsch 7c7d635bb9 Add a forgotten changelog entry about the ATmega168 support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@552 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-27 21:02:53 +00:00
joerg_wunsch 748e28b266 Update ChangeLog for my JTAG ICE mkI support.
Beautify Colin's recent entries while being here.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@551 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-25 21:32:21 +00:00
c_oflynn 1675bc3d1c Fixed bug 15051
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@550 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-25 14:48:22 +00:00
c_oflynn d1a771ed78 Fixed bug 15051, building for Windows breaks.
*par.c: ppi_claim and ppi_release definitions now in a Windows header file
*ppi.c: Only included if you are building for Windows
*win_ppdev.h: Initial Commit, see par.c

CV: ----------------------------------------------------------------------


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@549 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-25 14:46:43 +00:00
c_oflynn 9a1fdca704 Fixed bug 14681
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@548 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-25 12:46:23 +00:00
joerg_wunsch dc2038e767 Initial import of JTAG ICE mkI support.
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
2005-11-25 06:14:06 +00:00
c_oflynn 973dd33e71 *Added Brian Dean's patch to ser_win32.c, fixing bug 14681 "-vvvv causes communication to fail"
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@546 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-24 15:00:49 +00:00
c_oflynn df1fcbe978 Added support for stk500v2 for AtMega168
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@545 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-05 13:02:55 +00:00
c_oflynn 461e72b5ab avrdude.conf.in:
-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
2005-11-04 13:51:32 +00:00
joerg_wunsch da5c930411 Update Changelog.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@543 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-03 22:41:18 +00:00
joerg_wunsch cbaf6103aa Add ecpp(7D) (parallel port) for Solaris.
* configure.ac: add Solaris' default parallel port.
* linux_ppdev.h: change parallel port access to the new style.
* freebsd_ppi.h: New file, abstract FreeBSD's ppi(4).
* solaris_ecpp.h: New file, abstract Solaris' ecpp(7D).
* par.c: change header inclusion sequence.
* pgm.h: remove obsolete ppi_claim() and ppi_release() dummies.
* ppi.c: change header inclusion sequence, use new parport
abstraction, drop obsolete dummy implementation.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@542 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-03 22:37:37 +00:00
joerg_wunsch 811dd7d614 Make the lexer work with Solaris' (10) default lex(1).
While Solaris' lex understands start conditions, they cannot be grouped,
so unfold the <strng> group.

All actions need braces, even if they only consist of a comment.

As the classic lex uses semi-static resource allocation, we need to bump
the resource limits quite a bit.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@541 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-02 21:49:52 +00:00
joerg_wunsch af52c74def Instead of defining YYSTYPE to be a struct token_t *, make this a
two-step declaration, and first define token_p to be a token_t *,
and then define YYSTYPE to token_p.  That works around a bug in
Solaris' yacc.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@540 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-11-02 21:03:51 +00:00
joerg_wunsch 5564934a4e Make avrdude Solaris-compatible.
* 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
2005-11-01 23:02:06 +00:00