* buspirate.c: Optimised buspirate_cmd() - reading 1kB EEPROM now
takes only 14 sec instead of almost 2 mins with the original implementation. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@844 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
69622989b7
commit
b7766d1400
|
@ -1,3 +1,9 @@
|
||||||
|
2009-10-08 Michal Ludvig <mludvig@logix.net.nz>
|
||||||
|
|
||||||
|
* buspirate.c: Optimised buspirate_cmd() - reading 1kB EEPROM now
|
||||||
|
takes only 14 sec instead of almost 2 mins with the original
|
||||||
|
implementation.
|
||||||
|
|
||||||
2009-10-08 Michal Ludvig <mludvig@logix.net.nz>
|
2009-10-08 Michal Ludvig <mludvig@logix.net.nz>
|
||||||
|
|
||||||
* buspirate.c, buspirate.h: Support for the BusPirate programmer
|
* buspirate.c, buspirate.h: Support for the BusPirate programmer
|
||||||
|
|
|
@ -280,7 +280,7 @@ static int buspirate_cmd(struct programmer_t *pgm,
|
||||||
snprintf(buf, sizeof(buf), "0x%02x 0x%02x 0x%02x 0x%02x\n",
|
snprintf(buf, sizeof(buf), "0x%02x 0x%02x 0x%02x 0x%02x\n",
|
||||||
cmd[0], cmd[1], cmd[2], cmd[3]);
|
cmd[0], cmd[1], cmd[2], cmd[3]);
|
||||||
buspirate_send(pgm, buf);
|
buspirate_send(pgm, buf);
|
||||||
while (1) {
|
while (i < 4) {
|
||||||
rcvd = buspirate_readline(pgm, NULL, 0);
|
rcvd = buspirate_readline(pgm, NULL, 0);
|
||||||
/* WRITE: 0xAC READ: 0x04 */
|
/* WRITE: 0xAC READ: 0x04 */
|
||||||
if (sscanf(rcvd, "WRITE: 0x%x READ: 0x%x", &spi_write, &spi_read) == 2) {
|
if (sscanf(rcvd, "WRITE: 0x%x READ: 0x%x", &spi_write, &spi_read) == 2) {
|
||||||
|
@ -289,10 +289,16 @@ static int buspirate_cmd(struct programmer_t *pgm,
|
||||||
if (buspirate_is_prompt(rcvd))
|
if (buspirate_is_prompt(rcvd))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i != 4) {
|
if (i != 4) {
|
||||||
fprintf(stderr, "%s: error: SPI has not read 4 bytes back\n", progname);
|
fprintf(stderr, "%s: error: SPI has not read 4 bytes back\n", progname);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* wait for prompt */
|
||||||
|
while (buspirate_getc(pgm) != '>')
|
||||||
|
/* do nothing */;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue