AT89S52 programozása avrdude-dal

Az AT89S52-es MCU-t az avrdude program nem támogatja alapesetben. Szerencsére elég a konfigurációs fájlt kiegészíteni és lehet égetni. Az \~/.avrduderc fájlhoz vagy az /etc/avrdude.conf -hoz kell az alábbi sorokat hozzáfűzni (Linux ill. BSD-k alatt). Ezután egy usbasp programozóval lehet beégetni a programunkat. A chip_erase_delay nekem 20000 -el nem működött, 100000 már jó volt. Nem minden usbasp tud AT89S mikrovezérlőt programozni. Ez az USBasp biztosan. Talán elég a megfelelő verziójú firmware-t beégetni a programozóba, ennek nem néztem utána.

#------------------------------------------------------------

# Below chips by added by me .. Joy Shukla(joy_shukla@yahoo.in)

# these chips can be programmed with my usbasp programmer(changed atmega8 program)

# after adding avrdude support in this file ..

#------------------------------------------------------------

#------------------------------------------------------------

# AT89S52

#------------------------------------------------------------

part

id = "8052";

desc = "AT89S52";

signature = 0x1E 0x52 0x06;

# chip_erase_delay = 20000;

chip_erase_delay = 500000;

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 = 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 x 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 x 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 = 3;

read = "0 0 1 0 1 0 0 0 x x x 0 0 0 a1 a0",

"0 0 0 0 0 0 0 0 o o o o o o o o";

;

;

Oldalak