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
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
has a 128K flash.
Due to the bank addressing required, interactive update of the flash
is not supported, though the eeprom can be updated interactively.
Both memories can be programmed via non-interactive mode.
Intel Hex Record type '04' is now generated as required for outputing
memory contents that go beyond 64K.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@78 81a1dc3b-b13d-400b-aceb-764788c761c2
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
page (also updated by Joerg) to reference the schematic.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@63 81a1dc3b-b13d-400b-aceb-764788c761c2
avr.c : correct status led updates
term.c : update status leds on write, make the address and length
arguments for dump optional.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@58 81a1dc3b-b13d-400b-aceb-764788c761c2
First pass at providing feedback via the optionally connected leds. I
don't actually have any of these attached to my programmer, so I can
only guess as whether this is toggling them on and off correctly.
Also, enable and disable the optional 74367 buffer.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@50 81a1dc3b-b13d-400b-aceb-764788c761c2
prompted.
avr.c avr.h fileio.c term.c :
Change the avrpart data structure so that the typedef AVRMEM is
used as an index into an array for the sizes of the memory types
and also for pointers to buffers that represent the chip data for
that memory type. This removes a lot of conditional code of the
form:
switch (memtype) {
case AVR_FLASH :
...
}
Also, re-code avr_read_byte() and avr_write_byte() to properly
handle the flash memory type without having to tell them whether
they should program the high byte or the low byte - figure that
out from the address itself. For flash memory type, these
routines now take the actual byte address instead of the word
address. This _greatly_ simplifies many otherwise simple
operations, such a reading or writing a range of memory, by not
having to worry about whether the address starts on an odd byte
or an even byte.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@45 81a1dc3b-b13d-400b-aceb-764788c761c2
main.c : drop the giant usage text now that we have a man page.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@42 81a1dc3b-b13d-400b-aceb-764788c761c2
more modular pieces.
Also, accept command abbreviations as long as they are not ambiguous.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@38 81a1dc3b-b13d-400b-aceb-764788c761c2
to get the history capabilities working yet, but even so, it does
better handling of the prompt and strips newlines for us, so it's
still a win.
Add a few new commands for terminal mode: help, sig, part, erase.
Display rudimentory help using the help command.
Add some function prototypes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@36 81a1dc3b-b13d-400b-aceb-764788c761c2
Fix a few "may be used uninitialized" bugs found by -Wall.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@33 81a1dc3b-b13d-400b-aceb-764788c761c2
avrprog.c:
Add lots of comments, move getop() variable declarations to
the top of the program.
Add a typedef name to the AVR memory type and use it for
function declarations.
Add a usleep() delay in the sense loop to avoid becoming a cpu
hog.
Print out a version string so that folks know what version of
the software they are running.
Be sure and close the parallel device and the i/o file when
terminating abnormally.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@8 81a1dc3b-b13d-400b-aceb-764788c761c2
avrprog.c:
Add license.
Document the header a bit better.
Add capability to read out and display the device signature bytes.
Add capability to power the device from the parallel port.
Eliminate debug print facility.
Provide 'avr_cmd()' function.
When memory locations don't program, generate a newline so that the
information is not overwritten and lost.
Don't print out the message about needing to specify a file if the
user is not requesting an operation that requires the file.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@6 81a1dc3b-b13d-400b-aceb-764788c761c2
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@3 81a1dc3b-b13d-400b-aceb-764788c761c2