* fileio.c: ihex2bin did not properly handle files > 64K bytes

* usb_libusb.c: re-enabled usb_reset for Macs (no reset causes lots of failures)
* avrdude.1: spacing issue for ucr2 fixed.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@880 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
David Hoerl 2009-11-29 20:19:15 +00:00
parent d64741e5a2
commit 1bc01515e3
4 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2009-11-09 David Hoerl <dhoerl@mac.com>
* fileio.c: ihex2bin did not properly handle files > 64K bytes
* usb_libusb.c: re-enabled usb_reset for Macs (no reset causes lots of failures)
* avrdude.1: spacing issue for avr32 fixed.
2009-11-09 Michal Ludvig <mludvig@logix.net.nz> 2009-11-09 Michal Ludvig <mludvig@logix.net.nz>
* buspirate.c: Implemented reset= and speed= extended parameters. * buspirate.c: Implemented reset= and speed= extended parameters.

View File

@ -244,7 +244,7 @@ t25 ATtiny25
t26 ATtiny26 t26 ATtiny26
t45 ATtiny45 t45 ATtiny45
t85 ATtiny85 t85 ATtiny85
ucr2 AT32uca0512 ucr2 AT32uca0512
x128a1 ATxmega128A1 x128a1 ATxmega128A1
x128a1d ATxmega128A1revD x128a1d ATxmega128A1revD
.TE .TE

View File

@ -261,7 +261,6 @@ static int ihex_readrec(struct ihexrec * ihex, char * rec)
* If an error occurs, return -1. * If an error occurs, return -1.
* *
* */ * */
static int ihex2b(char * infile, FILE * inf, static int ihex2b(char * infile, FILE * inf,
unsigned char * outbuf, int bufsize) unsigned char * outbuf, int bufsize)
{ {
@ -279,6 +278,7 @@ static int ihex2b(char * infile, FILE * inf,
baseaddr = 0; baseaddr = 0;
maxaddr = 0; maxaddr = 0;
offsetaddr = 0; offsetaddr = 0;
nextaddr = 0;
while (fgets((char *)buffer,MAX_LINE_LEN,inf)!=NULL) { while (fgets((char *)buffer,MAX_LINE_LEN,inf)!=NULL) {
lineno++; lineno++;
@ -332,7 +332,7 @@ static int ihex2b(char * infile, FILE * inf,
case 4: /* extended linear address record */ case 4: /* extended linear address record */
baseaddr = (ihex.data[0] << 24 | ihex.data[1]) << 16; baseaddr = (ihex.data[0] << 24 | ihex.data[1]) << 16;
if(offsetaddr == 0) offsetaddr = baseaddr; if(nextaddr == 0) offsetaddr = baseaddr; // if provided before any data, then remember it
break; break;
case 5: /* start linear address record */ case 5: /* start linear address record */
@ -358,7 +358,6 @@ static int ihex2b(char * infile, FILE * inf,
return maxaddr-offsetaddr; return maxaddr-offsetaddr;
} }
static int b2srec(unsigned char * inbuf, int bufsize, static int b2srec(unsigned char * inbuf, int bufsize,
int recsize, int startaddr, int recsize, int startaddr,
char * outfile, FILE * outf) char * outfile, FILE * outf)
@ -1155,6 +1154,7 @@ int fileio(int op, char * filename, FILEFMT format,
if (format != FMT_IMM && !using_stdio) { if (format != FMT_IMM && !using_stdio) {
fclose(f); fclose(f);
} }
return rc; return rc;
} }

View File

@ -239,7 +239,7 @@ static void usbdev_close(union filedescriptor *fd)
(void)usb_release_interface(udev, usb_interface); (void)usb_release_interface(udev, usb_interface);
#if !( defined(__FreeBSD__) || ( defined(__APPLE__) && defined(__MACH__) ) ) #if !( defined(__FreeBSD__) ) // || ( defined(__APPLE__) && defined(__MACH__) ) )
/* /*
* Without this reset, the AVRISP mkII seems to stall the second * Without this reset, the AVRISP mkII seems to stall the second
* time we try to connect to it. This is not necessary on * time we try to connect to it. This is not necessary on