2

I've been using the below avrdude.conf segment for an AT89S8253 (https://www.edaboard.com/threads/avrdude-and-at89s8253-conf-file.76766/) as a starting point for an AT89S8252. I've struggled to find any values for the memory flash read/write and memory signature read bit patterns in the datasheet. Any input is appreciated (https://www.keil.com/dd/docs/datashts/atmel/at89s8252_ds.pdf)

#------------------------------------------------------------
# AT89S8253
#------------------------------------------------------------
part
id               = "8253";
desc             = "AT89S8253";
chip_erase_delay = 20000;
pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
                   "x x x x  x x x x    x x x x  x x x x";

chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", "x x x x x x x x x x x x x x x x";

timeout = 200; stabdelay = 100; cmdexedelay = 25; synchloops = 32; bytedelay = 0; pollindex = 3; pollvalue = 0x53; predelay = 1; postdelay = 1; pollmethod = 0;

memory "flash" size = 12288; paged = no; min_write_delay = 4000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 0 0 1 0 0 0 0 0", " x x a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o";

write           = "  0   1   0   0    0   0   0   0",
                  "  x   x a13 a12  a11 a10  a9  a8",
                  " a7  a6  a5  a4   a3  a2  a1  a0",
                  "  i   i   i   i    i   i   i   i";

mode = 0x21; delay = 12; ;

memory "signature" size = 2; readback_p1 = 0x1E; readback_p2 = 0x73; read = "0 0 1 0 1 0 0 0 x x x x x x x x", "x x 1 1 0 0 0 a0 o o o o o o o o"; ; ;

Below is what I've got so far (https://www.diffchecker.com/uXX0M3Fb)

#------------------------------------------------------------
# AT89S8252
#------------------------------------------------------------
part
id               = "8252";
desc             = "AT89S8252";
chip_erase_delay = 20000;
pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
                   "x x x x  x x x x";

chip_erase = "1 0 1 0 1 1 0 0 x x x x x 1 0 0", "x x x x x x x x";

timeout = 200; stabdelay = 100; cmdexedelay = 25; synchloops = 32; bytedelay = 0; pollindex = 3; pollvalue = 0x53; predelay = 1; postdelay = 1; pollmethod = 0;

memory "flash" size = 8192; paged = no; min_write_delay = 4000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 0 0 1 0 0 0 0 0", " x x a13 a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o";

write           = "  0   1   0   0    0   0   0   0",
                  "  x   x a13 a12  a11 a10  a9  a8",
                  " a7  a6  a5  a4   a3  a2  a1  a0",
                  "  i   i   i   i    i   i   i   i";

mode = 0x21; delay = 12; ;

memory "signature" size = 2; readback_p1 = 0x1E; readback_p2 = 0x72; read = "0 0 1 0 1 0 0 0 x x x x x x x x", "x x 1 1 0 0 0 a0 o o o o o o o o"; ; ;

user3424480
  • 197
  • 7

1 Answers1

0

the attached file in this link https://www.avrfreaks.net/comment/2109556#comment-2109556 includes a AT89S8252 template, as well as a firmware update that auto-polarity senses RST of AT89S parts.

tmp
  • 1