Commit Graph

29 Commits

Author SHA1 Message Date
Brian S. Dean dcca02ebbf Add basic support for STK500.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@160 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-12-01 04:30:01 +00:00
Brian S. Dean a193330803 Seperate programmer operations out into a driver-like interface so
that programmers other than the direct parallel port connection can be
supported.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@159 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-11-30 14:09:12 +00:00
Brian S. Dean 916ade1c43 Fix ATMega128 instruction encoding for reading the low and high fuse
bits.  Thanks to Joerg Wunsch for tripping over this.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@143 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-10-11 19:32:12 +00:00
Brian S. Dean 975614df3b Add support for ATtiny15 - contributed by Asher Hoskins
<asher@crumbly.freeserve.co.uk>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@135 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-06-22 14:03:53 +00:00
Brian S. Dean 99ac342e05 Backup the config file to a timestamped name to keep from possibly
overwriting user-modified configs.

Add read/write instructions for all memory types for ATMEGA103,
ATMEGA128, ATMEGA16, and ATMEGA8.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@132 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-04-07 16:03:58 +00:00
Brian S. Dean 4b6223fff4 Add support for ATMEGA128; untested; requested by Jeff Gardner
<gardner@journey.com>.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@131 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-04-05 22:41:38 +00:00
Brian S. Dean 12b331ccd4 Minor ordering.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@129 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-02-15 02:06:58 +00:00
Brian S. Dean 6ad21f0424 Make pwroff_after_write a yes/no field instead of a numeric.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@126 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-02-14 03:04:22 +00:00
Brian S. Dean f7b64467de Document the pwroff_after_write flag.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@125 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-02-14 02:59:39 +00:00
Brian S. Dean fa956af92c Fix error reporting by avr_write_byte().
Fix setting of status LEDs under various write-fail conditions.

Add a flag to indicate that a memory type requires the device to
possibly be powered off and back on after a write to it.  This is due
to a hardware problem on some Atmel devices, see:

	http://www.atmel.com/atmel/acrobat/doc1280.pdf

Add greater verbosity to the part-display code when verbose>1 to
display avrprog's encoding of the defined programming instructions.
This is primarily for debugging purposes.


Part updates:

  * add the AT90S4414 part

  * add fuse and lock bit access instructions for the AT90S1200,
    AT90S4434, and AT90S8515.

  * add the pwroff_after_write flag to the fuse bits for the AT90S2333
    and AT90S4433 parts


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@123 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-02-14 02:48:07 +00:00
Brian S. Dean 253015fb41 Updates to the 2333 and 4433 parts, contributed by Joerg Wunsh.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@122 81a1dc3b-b13d-400b-aceb-764788c761c2
2002-02-09 21:53:51 +00:00
Brian S. Dean 5ae32d55a1 Clarify a comment.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@113 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-12-30 00:12:23 +00:00
Brian S. Dean ce4395014c fix address bits
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@112 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-12-30 00:07:29 +00:00
Brian S. Dean bb4a4a889d Add the AVR3 progammer.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@110 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-12-29 21:47:05 +00:00
Brian S. Dean 10b8034ba9 Fix VCC assertion.
Make the BUFF pin a mask like VCC to allow multiple pins to be
asserted at the same time (STK200 has two buffer enable lines).

Add the STK200 programmer.

Fix EEPROM address line selection for several parts.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@109 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-12-29 21:37:20 +00:00
Brian S. Dean 06dd7455b0 fix spelling error
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@107 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-12-15 22:17:46 +00:00
Brian S. Dean 27ea11ae30 Add comments about instruction formats. Correct an instruction
specification (cut&paste error).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@104 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-11-24 01:44:06 +00:00
Brian S. Dean b50ce8fabd Allow instruction data to be specified more flexibly, which can be
used to make the instruction input more readable in the config file.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@102 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-11-21 05:50:59 +00:00
Brian S. Dean fb233af934 This is a jajor re-write of the programming algorithms. The Atmel
serial programming instructions are not very orthoganal, i.e., the
"read fuse bits" instruction on an ATMega103 is an entirely different
opcode and data format from the _same_ instruction for an ATMega163!
Thus, it becomes impossible to have a single instruction encoding
(varying the data) across the chip lines.

This set of changes allows and requires instruction encodings to be
defined on a per-part basis within the configuration file.  Hopefully
I've defined the encoding scheme in a general enough way so it is
useful in describing the instruction formats for yet-to-be invented
Atmel chips.  I've tried hard to make it match very closely with the
specification in Atmel's data sheets for their parts.  It's a little
more verbose than what I initially hoped for, but I've tried to keep
it as concise as I could, while still remaining reasonably flexible.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@100 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-11-21 02:46:55 +00:00
Brian S. Dean f1af5d3981 Add support for ATMega163.
Add support for reading/writing ATMega163 lock and fuse bits.
Unfortunately, in looking at the specs for other ATMega parts, they
use entirely different instruction formats for these commands.  Thus,
these routines won't work for the ATMega103, for example.

Add support for sending raw command bytes via the interactive terminal
interface.  This allows one to execute any programming instruction on
the target device, whether or not avrprog supports it explicitly or
not.  Thus, one can use this feature to program fuse / lock bits, or
access any other feature of a current or future device that avrprog
does not know how to do.

Add in comments, an experimental instruction format in the
configuration file.  If this works out, it would allow supporting new
parts and non-orthoganal instructions across existing parts without
making avrprog code changes.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@99 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-11-19 17:44:24 +00:00
Brian S. Dean 76fb1330af Add ATMEGA163 part.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@98 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-11-17 20:48:17 +00:00
Brian S. Dean b9e5d16c95 Correct version string.
Update read/write status more frequently.
Prefix ATMega parts with an 'm'.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@95 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-31 02:18:08 +00:00
Brian S. Dean 90d4f82fc9 Fix (again, hopefully) page addressing for the ATMega parts.
Rename the poorly chosen name "bank" to "page" for page addressing.
Atmel calls it "page" in their documentation.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@91 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-16 23:32:30 +00:00
Brian S. Dean c934f8cc7a Fix ATMega flash addressing. Add an ATMEGA16 part. Perform sanity
checking on the memory parameters for parts that do bank addressing.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@88 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-16 02:47:55 +00:00
Brian S. Dean 136651146f Correct dt006 pinout.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@82 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-15 00:16:12 +00:00
Brian S. Dean 8350520e26 Update the man page.
Miscellaneous minor cleanups.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@80 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-15 00:00:09 +00:00
Brian S. Dean 3d8f8bcd45 Use lex/yacc for parsing the config file. Re-work the config file
format using a more human-readable format.

Read part descriptions from the config file now instead of hard-coding
them.

Update usage().

Cleanup unused code.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@79 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-10-14 23:17:26 +00:00
Brian S. Dean 3cdf00c76c Prefix pin config entries in the config file with a "c:". Later, I
might make part descriptions read in this way and we can use a
different letter for those (p).  This will make the parsing easier to
distinguish between the entry types.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@69 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-09-20 03:19:31 +00:00
Brian S. Dean 9003ed1183 Make the pin definitions configurable based on entries in a config
file.  This makes supporting other programmers much easier.

Rename AVRprog.pdf to avrprog.pdf.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@67 81a1dc3b-b13d-400b-aceb-764788c761c2
2001-09-19 17:04:25 +00:00