Commit Graph
100 Commits
Author SHA1 Message Date
bdean 9344e7bfd3 Update version to 5.0.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@521 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-21 01:37:02 +00:00
bdean df27d4e06a All declarations need to be at the top of the block.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@520 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-21 01:26:54 +00:00
bdean d53e6d7b25 This is Colin O'Flynn's mega patch for updating safemode support:
* add support for parts with just 'fuse' memory

    * if any fuse memories are altered, reflect those changes in the
      post-programming safemode check so that safemode no longer
      complains about fuses which were intentionally altered; this
      eliminates the need to completely disable safemode using -u in
      order to program fuses.

    * provide -s option which will not ask to restore fuses, it will
      just do it

Submitted by: Colin O'Flynn <coflynn@newae.com>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@519 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-21 00:20:32 +00:00
bdean 396649622e Bring this file up to date.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@513 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-18 01:16:39 +00:00
bdean 4241ea4ed3 Document some recent changes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@512 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-18 01:01:57 +00:00
bdean 8d662ad9cc Patch #4078: add VCC pin definition for DAPA programmer. This patch
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
2005-09-18 00:44:20 +00:00
bdean 5fb877f403 This is patch #3277 which appears to fix a number of issues with the
avr910 programmer.

Original Submission: The attached patch against avrdude 4.4.0 fixes
the following problems with paged writes in avr910.c:

  - failure to re-set address after page writes;
  - no polling or delay after page writes;
  - no page writes when not using auto-increment;
  - an extraneous page write when data ends on page boundary.

Submitted by: "Nic" <avrdude@schraudolph.org>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@510 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-18 00:28:19 +00:00
bdean 98aad0c62a Document -q -q. Expand a little on the description of the 'part'
command.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@504 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-17 15:23:05 +00:00
bdean 461ffc9d80 Implement -q -q to be very very quiet.
Submitted by: andyw@pobox.com


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@503 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-16 21:52:42 +00:00
bdean 041f08d972 Add DAPA programmer.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@502 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-09-16 21:34:22 +00:00
bdean f96a7a09c1 I thought I had already committed this but I don't see it in CVS.
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
2005-09-16 21:23:14 +00:00
bdean 88da9ed79e Change bit 0 of the ATmega169 efuse 'write' opcode from 'x' (ignore)
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
2005-09-14 02:11:49 +00:00
bdean 20f3be439c Eliminate compiler warnings. GCC 4.x elicits many signedness warnings
when passing unsigned char * when char * is in the prototype and vice
versa.  Clean these up along with a few others.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@491 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-08-30 01:30:05 +00:00
bdean 89e890aacd This is patch # 4338, obsoletes patch #4327, provides fixes for bugs
#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
2005-08-28 22:23:35 +00:00
bdean 6773b66a8d Note my last few changes.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@485 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-07-26 05:04:12 +00:00
bdean ce1835ded4 Remove some debug code accidentally left in.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@484 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-07-26 04:59:50 +00:00
bdean c844bd1236 Don't call exit() directly here - set the exit value and jump to the
main_exit: label to ensure the programmer is released correctly.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@483 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-07-26 04:13:34 +00:00
bdean 301eaff2d6 The stk500v2_getsync() function was improperly checking for success,
thus it was falsely reporting that it failed when it was actually
working correctly.  Fixed.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@482 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-07-26 02:56:29 +00:00
bdean 9f765f7456 Update version after tagging the beta release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@470 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-05-14 15:53:00 +00:00
bdean 2beb8a519e Catch up on my updates.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@468 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-05-14 15:22:31 +00:00
bdean c37cefab01 Update version and copyright message.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@467 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-05-14 14:56:00 +00:00
bdean e457898255 Change the default port to 'serial' for the newly added serial
programmers stk500v2 and jtagmkii.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@466 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-05-14 14:49:39 +00:00
bdean 1041ecd45e Exit non-zero if safe-mode reverts fuse bits that were requested on
the command-line.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@450 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-11 19:03:53 +00:00
bdean 5a7b9e59b6 Variable declarations must only appear at the beginning of a block.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@449 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 18:37:37 +00:00
bdean 7d693ef797 Document -u option to disable safe mode.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@448 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 18:03:32 +00:00
bdean b5f3b84182 Style police: white space only change; consistent indentation, wrap
long lines to < 80 columns.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@447 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 16:34:55 +00:00
bdean 5316702400 doc/Makefile is now dependent on whether or not doc is enabled.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@446 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 15:39:42 +00:00
bdean b0d0be4c49 Patch to disable the doc build by default; the tools needed to build
doc are either not available on all systems or are at best
inconvenient to build and install.  The doc can still be built, one
just needs to specify --enable-doc at configure time.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@445 81a1dc3b-b13d-400b-aceb-764788c761c2
2005-02-10 14:54:57 +00:00
bdean bbc5d1e0c3 Replace my e-mail address with my url when displaying copyright
information.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@439 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-12-22 02:06:13 +00:00
bdean e4f8608da4 Update code copyrights.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@438 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-12-22 01:52:45 +00:00
bdean 789333011b Add support for "Xilinx JTAG cable".
Contributed by: Tymm <tymm@booyaka.com>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@437 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-12-22 01:30:30 +00:00
bdean b5909a4070 Add support for the AT90CAN128. Not sure if all the instruction
encoding is correct, specifically the address bits don't exactly match
those of the preliminary datasheet that I have, but I don't see how
they could be right.  Tested with STK500 and it works there.
Instruction encodings have not been tested due to lack of a parallel
port on my Mac.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@436 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-12-22 01:24:39 +00:00
bdean 7d5c5b7ad9 Make a note about now having MacOS X support.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@432 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-07-18 14:09:41 +00:00
bdean 40b0fc58cc Update changelog.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@417 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-05-19 23:08:47 +00:00
bdean 518ff9d2f8 Allow the baud rate to be specified on the command line with a new -b
switch.  The specified baud rate will override the default serial port
baud rate for a particular programmer.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@416 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-05-19 23:00:38 +00:00
bdean 75f5527937 Stub-out the ppi_* functions in ppi.c with empty wrappers that simply
return an error code when building on MacOS X.  This commit makes
AVRDUDE compile and run fine on my PowerMac G5 running MacOS X.  In
theory it would be possible to support parallel ports on the Mac using
a PCI multi-port card and/or USB<->Parallel converters.  If/when such
support is added we can flesh out these functions as needed, but for
now, only serial port programmers are currently supported.

Note that I tested avrdude on the G5/MacOS X with an STK500 programmer
and used a Keyspan model USA-19HS USB<->RS232 adapter device which
simply shows up in /dev as a POSIX serial port.  None of the serial
port handling needed any changes.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@415 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-05-19 21:02:25 +00:00
bdean dc9fa44109 Remove old schematic.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@414 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-04-24 04:14:00 +00:00
bdean 94dfac9f86 Add the Futurlec programming cable definition.
Contributed by:  Gianmario.Scotti@nokia.com


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@406 81a1dc3b-b13d-400b-aceb-764788c761c2
2004-01-27 15:16:16 +00:00
bdean 885d915a1c Add support for the Atmel Butterfly board which talks to the
Butterfly's supplied bootloader firmware.

Contributed by: Michael Mayer <michael-mayer@gmx.de>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@387 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-30 15:16:48 +00:00
bdean 8e75250c16 Config file cleanup and part additions:
* The second poll value for flash is corrected for all devices

  * Delays are corrected for all devices, I have a datasheet for on my
    harddisk

  * mega161 is added

  * avr910_devcode added for all devices except mega64, mega162,
    mega169 and mega8535. Numbers are taken from uisp-source.

Contributed by Jan-Hinnerk Reichert <jan-hinnerk_reichert@hamburg.de>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@382 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-20 04:05:53 +00:00
bdean a461b38c4a Recent updates.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@379 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-14 04:52:33 +00:00
bdean ee43f2f071 Add ATmega64 part.
Contributed by Erik Christiansen <erik@dd.nec.com.au>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@378 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-11-14 04:43:55 +00:00
bdean c6046e01ff Add new programmer config: ABCmini Board, contributed by Christian
Catchpole <trio@catchpole.net>.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@373 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-10-02 18:59:47 +00:00
bdean e1c2db2ab1 Add ATmega162 part definition.
Contributed by: Stephan Eisvogel <eisvogel@hawo.stw.uni-erlangen.de>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@368 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-09-08 14:51:28 +00:00
bdean 4df01a2189 Add an extended example of using the -U option to update the flash,
eeprom, efuse, hfuse, and lfuse on a single command line.  Much of the
output had to be ommitted from the example since the texi commands for
formatting the example don't allow page breaks within the example.  If
someone knows a better way to format it, please feel free to do so.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@361 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-09-04 01:01:40 +00:00
bdean 0b71c0672c Revert to honoring the return code from pgm->pgm_enable() within the
stk500 initialization routine.  However, allow one to use the -F
option to ignore a bad return code from that function.  I think this
still allows what Joerg intended, i.e., providing a way to still get
into terminal mode so that one can recover from setting bad STK500
values which may keep the chip from entering programming mode.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@359 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-31 15:40:59 +00:00
bdean a7075e8d21 Make a note about the new auto erase default and exceptions.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@358 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-29 23:23:25 +00:00
bdean dd38310828 Document auto erase default for -U flash write requests.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@357 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-29 23:19:44 +00:00
bdean 776104ea0c Perform an auto erase before programming if the flash memory is
anywhere specified to be written by any of the -U requests.

To remain backward compatible with previous versions, disable this
feature if any of the old-style memory specification operations are
specified (-i, -o).

Implement the -D option to explicitly disable the auto erase default.

Deprecate the old-style memory specification options (-f, -i, -I, -m,
and -o) in favor of the new -U option which allows one to operate on
multiple memories on a single command line.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@356 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-29 23:17:32 +00:00
bdean cc1bb36860 Add some forgotten entries.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@355 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-29 01:47:47 +00:00
bdean 1de16c56ed Declare size and vsize as 'int'. These represent the size of the AVR
memory read or written (or up to where continuous 0xff begins in the
case of flash memory).  An 'int' should be plenty big enough for that.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@354 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-29 00:14:22 +00:00
bdean d3b2337564 Add entry about "immediate mode."
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@353 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-28 23:42:51 +00:00
bdean b5c352760a Make a note about -U option.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@351 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-28 18:41:43 +00:00
bdean 1ec1c1c2ea Fix fuse bit setting example. This closes bug #4027 submitted by
(unknown).


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@350 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-28 14:00:07 +00:00
bdean 386f8f19db Fix placement of local variable - variables must be declared before
any statements within a block.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@349 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-28 13:52:52 +00:00
bdean e09ce4ec22 Fix example.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@345 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-24 20:53:25 +00:00
bdean e105eb00cb Document recent enhancements.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@344 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-24 18:40:06 +00:00
bdean 1015d6ab46 Update a few programmer entries (descriptions only).
Add the supported programmer list to the manual.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@343 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-24 18:31:08 +00:00
bdean 6183fc22a2 Remove debugging printf.
Update manual to reflect the new -U option.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@342 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-24 18:05:46 +00:00
bdean eecf43999d Introduce a new option, -U, for performing memory operions. Its
argument is a 4 field string (fields seperated by colons) which
indicate what memory type to operate on, what operation to perform is
(read, write, or verify), the filename to read from, write to, or
verify against, and an optional file format field.  Multple -U options
can be specified to operate on more than one memory at a time with a
single invocation.  For example, to update both the flash and the
eeprom at the same time one can now specify the following:

	avrdude -p -e -U flash:w:main.hex:i -U eeprom:w:eeprom.hex:i


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@341 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-21 04:52:36 +00:00
bdean c5df201221 Timing related fixes for the Windows platform. Several folks have
reported that this patch fixes verify errors on the Windows platform
that are apparently timing related.  Submitted by: Alex Shepherd
<ashepherd@wave.co.nz>, who indicates that this patch was based on
code from the UISP project.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@340 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-08-20 00:16:27 +00:00
bdean d6287689c1 Add elapsed time information to the new progress bar.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@338 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-07-30 23:01:52 +00:00
bdean 806ceac840 Remove carraige returns.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@335 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-07-23 23:44:13 +00:00
bdean b1106ed404 Add 'picoweb' programming cable programmer.
Contributed by Rune Christensen <rune.christensen@adslhome.dk>.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@334 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-07-22 01:29:19 +00:00
bdean 3f6564ba98 Add the 'sp12' (Steve Bolt's) programmer.
Submitted by Larry Barello <larryba@barello.net>.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@333 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-06-18 02:47:52 +00:00
bdean a16b1d35c0 Properly identify the "ALF" programmer.
Extend ATmega8 calibration memory to support all 4 calibration bytes.
Savannah bug #3835.  Submitted by Francisco T. A. Silva
<ftas@geodigitus.com.br>.

Add a few AVR910 programmer device codes.  Savannah bug #3569 - sorry
I can't tell who submitted this to give proper credit.

Add support for the ATtiny12.  Submitted by Pontifex <pontifex@isys.ca>


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@332 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-06-17 21:35:39 +00:00
bdean 945358b4b3 Optimize flash memory handling a little bit by ignoring 0xff data that
resides above the last non-0xff data value in the address space.  Only
do this for flash memory since writing a 0xff to flash is a no-op.
This has the affect of creating smaller output files when dumping
memory contents from flash if the program in flash does not consume
the whole memory space.  It also results in shorter programming times
when avrdude is asked to load a file into flash that has lots of 0xff
filled data past the last non-0xff data value.

I think this is basically where Alexey was going with his s-record
routine, but this should have a similar affect for all the I/O
routines.  The main difference is that Alexey's also optimized 0xff
from the beginning of the address space and was not limited to flash.

I think that these optimizations should be limited to the flash since
it is currently the only memory that treats 0xff as special.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@331 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-05-22 02:33:17 +00:00
bdean ae435210a1 Make the s-record output routine work like the raw and intel hex
output routines (don't optimize away 0xff data before and after non
0xff data).  Also, fix a bug where the data contents sometimes weren't
written out completely.

Initial bug reported by Tom Harris <TomH@optiscan.com>.  Fixes
provided by Alexey V.Levdikov <tsar@kemford.com>.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@330 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-05-22 00:46:59 +00:00
bdean a44054650f fileio.c : Remove superfluous assignment of 'fname'.
main.c : print out '<stdin>' and '<stdout>' instead of '-' when using
         stdio for I/O.

Thanks to Francisco T. A. Silva <ftas@geodigitus.com.br> for catching
this, and the error fixed by the previous commit as well.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@325 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-05-07 22:13:46 +00:00
bdean 5280d185be Unbreak using stdin/stdout for file input / output.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@324 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-05-07 00:14:03 +00:00
bdean 98d1f804ae unbreak '-i' option argument
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@320 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-04-19 23:31:51 +00:00
bdean a3905bf471 Document -I.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@319 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-04-19 23:10:00 +00:00
bdean fa3d83df02 Add a shortcut option, '-I' which is the same as '-i' but defaults the
file format type to 'immediate mode' where the filename is assumed to
be the memory data itself.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@318 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-04-19 23:06:01 +00:00
bdean 7007ab14ba Implement and "immediate mode" for file input - this allows one to
specify byte values on the command line instead of via a file.  This
can be good for specifying fuse bytes and eliminates the need to
create single-byte files or using interactive terminal mode for these
single-byte memories.  Requested by several folks on the mailing list.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@317 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-04-19 18:41:35 +00:00
bdean fa68be629f Change deprecated 'devicecode' to 'stk500_devcode' and remove
extraneous carraige returns.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@312 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-04-17 22:50:41 +00:00
bdean 6189880dd5 Add the ATmega32 part. This part definition was contributed by:
Daniel Williamson <dannyw@maconmgt.co.uk>
and
	Ruwan Jayanetti <rjayanetti@sri.crossvue.com>

The resulting part definition used was actually somewhat of a merge of
the two submitted definitions.

Thanks for the contributions!


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@302 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-29 15:02:07 +00:00
bdean 616581c5a0 Headers needed on FreeBSD.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@290 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-13 04:44:46 +00:00
bdean 95bc42484d Add Ted, who forgot to add himself.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@288 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-13 03:16:53 +00:00
bdean 8622e09820 Use my other e-mail address.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@284 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-12 03:43:51 +00:00
bdean e5b19b5a1a Use my other e-mail.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@282 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-12 01:25:43 +00:00
bdean ee96643119 Get rid of a debugging printf.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@280 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-12 00:06:45 +00:00
bdean b128964e9b Disable debugging printf.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@276 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-10 22:58:21 +00:00
bdean 60439e8414 Update version number in preparation for release.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@275 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-10 22:08:06 +00:00
bdean 18daec6875 Minor man page updates to better reflect reality.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@273 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-10 21:51:55 +00:00
bdean 02aa33e2a4 Check the programmer type against 'STK500' instead of the programmer
name when checking to see if we should default to the default_serial
port instead of the default_parallel port.  This has us do the right
thing for the new 'avrisp' programmer.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@262 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 04:57:03 +00:00
bdean 43417206df Make the page size used for non-paged parts for the 'paged_write'
command be 128 bytes.  This cuts 6 seconds off the programming time
for uploading a 6K file into an AT90S8515 vs the time loading the same
file using a 16 byte buffer, and the response feedback is still good.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@261 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 04:37:09 +00:00
bdean 86dbad54c5 Fix stk500 page write (Program Page command). This is supported after
all on non-paged-memory parts.  The problem was that the page size was
defaulting to 256 (maximum for the stk500), but the timeout for a
response from the stk500 before declaring it dead was only 0.5
seconds.  But it takes much longer than 0.5 seconds to program 256
bytes, so we just weren't waiting long enough.

Fix this in two ways - increase the timeout to 5 seconds, and decrease
the page size to 16 bytes for non-paged parts.  The programming time
for 16 bytes is short enough to provide the user with some feedback
that something is happening.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@260 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 04:30:20 +00:00
bdean 6e9bdf2a6e Don't call the programmer's 'paged_write' routine unless the memory
itself is paged as it doesn't appear to work otherwise.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@259 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 02:35:50 +00:00
bdean 21c0c54028 Fix device codes for at90s8515 and at90s8535.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@258 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 02:33:30 +00:00
bdean b52d86ae9d Add PAGEL and BS2 parms for parts I have datasheets for.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@257 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 01:42:57 +00:00
bdean 5a65e71d37 Do that last commit slightly differently - this way results in no
shift-reduce conflicts.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@256 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 01:19:17 +00:00
bdean afbb106145 It shouldn't be an error to have an empty configuration file. This
causes some shift-reduce conflicts, but I think they are OK.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@255 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 01:13:57 +00:00
bdean 174397969c Print out a list of valid parts for '-p ?' and a list of valid
programmers for '-c ?'.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@254 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-05 00:53:49 +00:00
bdean 4f9b61168c Don't try to set extended device programming parameters if they
haven't been specified in the config file for the part.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@250 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-04 14:33:19 +00:00
bdean 5a60659d9e Set extended device parameters for all firmware versions.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@249 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-04 02:11:41 +00:00
bdean e6c66498fa First attempt at supporting STK500 firmware past 1.10. Thanks to
Jason Kyle for the needed protocol information.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@248 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-04 02:03:11 +00:00
bdean b8c21b8b21 Initial manual.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@244 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-03-02 01:32:24 +00:00
bdean 4e1e3d01aa Add note about .avrduderc.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@223 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-22 16:47:46 +00:00
bdean 66d2a710db Add the ability to read a per-user config file located at
$HOME/.avrduderc.  Entries from .avrduderc take precedence over those
from the system wide config file in ${PREFIX}/etc/avrdude.conf.

Track and display the config file name and line number when we print
out the available parts and programmers.  This is useful in case
someone has overridden a definition in their .avrduderc file and is
wondering why the definition in the system wide config file is not
being used.

Remove the default programmer 'stk500' from the distributed config
file.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@222 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-22 16:45:13 +00:00
bdean 2c3d88da51 Spelling.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@221 81a1dc3b-b13d-400b-aceb-764788c761c2
2003-02-22 03:58:52 +00:00