Go to file
Brian S. Dean b09107e9af 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
doc * doc/TODO: Add note about avr910 device codes. 2003-05-13 21:41:36 +00:00
windows * windows/Makefile.am: Fix uninstall-local rule (forget the $$file 2003-03-12 00:32:36 +00:00
.cvsignore These changes add basic support for a autoconf/automake based build system. 2003-02-14 20:34:03 +00:00
AUTHORS Change email address. 2003-05-13 18:10:55 +00:00
COPYING Re-license using the GNU GPL. Thanks to Ted Roth for the patch. 2003-02-06 19:08:33 +00:00
ChangeLog * avr910.c (avr910_paged_write_flash): Add code to send the 'm' 2003-05-14 05:14:32 +00:00
ChangeLog-2001 Use my other e-mail. 2003-03-12 01:25:43 +00:00
ChangeLog-2002 Use my other e-mail. 2003-03-12 01:25:43 +00:00
Makefile.am * Makefile.am (avrdude_SOURCES): Add avr910.[ch], serial.h and 2003-03-13 03:52:19 +00:00
NEWS Change email address. 2003-05-13 18:10:55 +00:00
README * AUTHORS: Updated. 2003-03-11 22:34:53 +00:00
avr.c Optimize flash memory handling a little bit by ignoring 0xff data that 2003-05-22 02:33:17 +00:00
avr.h Optimize flash memory handling a little bit by ignoring 0xff data that 2003-05-22 02:33:17 +00:00
avr910.c * avr910.c (avr910_paged_write_flash): Add code to send the 'm' 2003-05-14 05:14:32 +00:00
avr910.h * Makefile.am (avrdude_SOURCES): Add avr910.[ch], serial.h and 2003-03-13 03:52:19 +00:00
avrdude.1 Document -I. 2003-04-19 23:10:00 +00:00
avrdude.conf.in * avrdude.conf.in: Add pagel and bs2 entries for at90s1200 device. 2003-05-14 03:54:17 +00:00
avrdude.pdf Make the pin definitions configurable based on entries in a config 2001-09-19 17:04:25 +00:00
avrdude.spec.in * avrdude.spec.in: Add docs sub-package. 2003-03-06 08:15:47 +00:00
avrpart.h * avr.c (avr_read): Use pgm->read_sig_bytes to read signature bytes if 2003-03-17 06:20:02 +00:00
bootstrap Export all the AUTO* variables. Hopefully, that way the generated 2003-03-10 21:25:13 +00:00
config.c Introduce 'default_programmer' to the config file instead of requiring 2003-02-21 21:07:43 +00:00
config.h Introduce 'default_programmer' to the config file instead of requiring 2003-02-21 21:07:43 +00:00
config_gram.y * avr.c (avr_read): Use pgm->read_sig_bytes to read signature bytes if 2003-03-17 06:20:02 +00:00
configure.ac * configure.ac: Check for ncurses library (since it can be a 2003-05-05 02:29:28 +00:00
confwin.c Change email address. 2003-05-13 18:10:55 +00:00
confwin.h Change email address. 2003-05-13 18:10:55 +00:00
fileio.c Optimize flash memory handling a little bit by ignoring 0xff data that 2003-05-22 02:33:17 +00:00
fileio.h Implement and "immediate mode" for file input - this allows one to 2003-04-19 18:41:35 +00:00
lexer.l * avr.c (avr_read): Use pgm->read_sig_bytes to read signature bytes if 2003-03-17 06:20:02 +00:00
linux_ppdev.h * linux_ppdev.h: New file. 2003-02-11 23:50:31 +00:00
lists.c These changes add basic support for a autoconf/automake based build system. 2003-02-14 20:34:03 +00:00
lists.h Makefile: include a target to automatically generate the dependency 2003-02-08 04:17:25 +00:00
main.c fileio.c : Remove superfluous assignment of 'fname'. 2003-05-07 22:13:46 +00:00
par.c Add the ability to read a per-user config file located at 2003-02-22 16:45:13 +00:00
par.h Split higher level parallel port programmer code off from ppi.c into 2003-02-13 19:27:50 +00:00
pgm.c * avr.c (avr_write): Add call to pgm->write_setup() before the write loop. 2003-03-24 07:09:16 +00:00
pgm.h * avr.c (avr_write): Add call to pgm->write_setup() before the write loop. 2003-03-24 07:09:16 +00:00
pindefs.h Makefile: include a target to automatically generate the dependency 2003-02-08 04:17:25 +00:00
ppi.c These changes add basic support for a autoconf/automake based build system. 2003-02-14 20:34:03 +00:00
ppi.h Split higher level parallel port programmer code off from ppi.c into 2003-02-13 19:27:50 +00:00
ppiwin.c Change email address. 2003-05-13 18:10:55 +00:00
ser_posix.c * avr.c (avr_write): Add call to pgm->write_setup() before the write loop. 2003-03-24 07:09:16 +00:00
ser_win32.c * ser_posix.c, ser_win32.c, serial.h: 2003-03-13 19:25:27 +00:00
serial.h * ser_posix.c, ser_win32.c, serial.h: 2003-03-13 19:25:27 +00:00
stk500.c * stk500.c: Don't print out read/write byte progress unless the verbose 2003-04-07 17:18:51 +00:00
stk500.h Makefile: include a target to automatically generate the dependency 2003-02-08 04:17:25 +00:00
stk500_private.h Add basic support for STK500. 2002-12-01 04:30:01 +00:00
term.c * term.c: Use fgets() if readline() is not available. 2003-02-27 20:08:54 +00:00
term.h Makefile: include a target to automatically generate the dependency 2003-02-08 04:17:25 +00:00

README

See the documentation file for the details.

The latest version of AVRDUDE is always available here:

  http://savannah.nongnu.org/projects/avrdude