term.c - when in interactive terminal mode and dumping memory using

the 'dump <memtype>' command without any address information,
         and the end of memory is reached, wrap back around to zero on
         the next invocation.

CHANGELOG - describe changes

main.c - update version number


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@157 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Brian S. Dean 2002-11-23 00:52:15 +00:00
parent 6f8adf7abc
commit 07c1849557
3 changed files with 31 additions and 6 deletions

View File

@ -4,6 +4,25 @@ Approximate change log for AVRPROG by version
---------------------------------------------------------------------- ----------------------------------------------------------------------
Version 2.1.5:
* When getting ready to initiate communications with the AVR device,
first pull /RESET low for a short period of time before enabling
the buffer chip. This sequence allows the AVR to be reset before
the buffer is enabled to avoid a short period of time where the
AVR may be driving the programming lines at the same time the
programmer tries to. Of course, if a buffer is being used, then
the /RESET line from the programmer needs to be directly connected
to the AVR /RESET line and not via the buffer chip.
Feature contributed by Rick C. Petty <rick@KIWI-Computer.com>.
* When in interactive terminal mode and dumping memory using the
'dump <memtype>' command without any address information, and the
end of memory is reached, wrap back around to zero on the next
invocation.
Version 2.1.4: Version 2.1.4:
* Fix -Y option. * Fix -Y option.

View File

@ -115,7 +115,7 @@ char ** modules[N_MODULES] = {
&term_version &term_version
}; };
char * version = "2.1.4"; char * version = "2.1.5";
char * main_version = "$Id$"; char * main_version = "$Id$";

View File

@ -256,12 +256,18 @@ int cmd_dump(int fd, struct avrpart * p, int argc, char * argv[])
maxsize = mem->size; maxsize = mem->size;
if (addr > maxsize) { if (addr >= maxsize) {
if (argc == 2) {
/* wrap around */
addr = 0;
}
else {
fprintf(stderr, fprintf(stderr,
"%s (dump): address 0x%05lx is out of range for %s memory\n", "%s (dump): address 0x%05lx is out of range for %s memory\n",
progname, addr, mem->desc); progname, addr, mem->desc);
return -1; return -1;
} }
}
/* trim len if nessary to not read past the end of memory */ /* trim len if nessary to not read past the end of memory */
if ((addr + len) > maxsize) if ((addr + len) > maxsize)