Add support for the ATtiny25/45/85. Note that only the ATtiny45
appears to have a complete XML description right now. Document all the recently added new devices: AT90PWM2/3, ATmega164/324/644, ATmega329x/649x, ATtiny25/45/85. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@489 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
d89d05867d
commit
7a68b92089
|
@ -1,3 +1,12 @@
|
|||
2005-08-28 Joerg Wunsch <j@uriah.heep.sax.de>
|
||||
|
||||
* avrdude.conf.in: Add support for the ATtiny25/45/85. Note that
|
||||
only the ATtiny45 appears to have a complete XML description right
|
||||
now.
|
||||
* avrdude.1: Mention all the recently added device support: AT90PWM2/3,
|
||||
ATmega164/324/644, ATmega329x/649x, ATtiny25/45/85.
|
||||
* doc/avrdude.texi: (Ditto.)
|
||||
|
||||
2005-08-17 Joerg Wunsch <j@uriah.heep.sax.de>
|
||||
|
||||
* avrdude.conf.in: fix the EEPROM size for ATmega329x/649x.
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.Dd DATE July 28, 2005
|
||||
.Dd DATE August 28, 2005
|
||||
.Os
|
||||
.Dt AVRDUDE 1
|
||||
.Sh NAME
|
||||
|
@ -145,6 +145,8 @@ the format. Currently, the following MCU types are understood:
|
|||
ll.
|
||||
\fBOption tag\fP \fBOfficial part name\fP
|
||||
c128 AT90CAN128
|
||||
pwm2 AT90PWM2
|
||||
pwm3 AT90PWM3
|
||||
1200 AT90S1200
|
||||
2313 AT90S2313
|
||||
2333 AT90S2333
|
||||
|
@ -160,10 +162,17 @@ m16 ATmega16
|
|||
m161 ATmega161
|
||||
m162 ATmega162
|
||||
m163 ATmega163
|
||||
m164 ATmega164
|
||||
m169 ATmega169
|
||||
m32 ATmega32
|
||||
m324 ATmega324
|
||||
m329 ATmega329
|
||||
m3290 ATmega3290
|
||||
m48 ATmega48
|
||||
m64 ATmega64
|
||||
m644 ATmega644
|
||||
m649 ATmega649
|
||||
m6490 ATmega6490
|
||||
m8 ATmega8
|
||||
m8515 ATmega8515
|
||||
m8535 ATmega8535
|
||||
|
@ -172,7 +181,10 @@ t12 ATtiny12
|
|||
t13 ATtiny13
|
||||
t15 ATtiny15
|
||||
t2313 ATtiny2313
|
||||
t25 ATtiny25
|
||||
t26 ATtiny26
|
||||
t45 ATtiny45
|
||||
t85 ATtiny85
|
||||
.TE
|
||||
.Bl -tag -width "(*) "
|
||||
.It "(*)"
|
||||
|
|
|
@ -5313,3 +5313,404 @@ part
|
|||
;
|
||||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATtiny25
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "t25";
|
||||
desc = "ATtiny25";
|
||||
## no STK500 devcode in XML file, use the ATtiny45 one
|
||||
stk500_devcode = 0x14;
|
||||
## avr910_devcode = ?;
|
||||
## Try the AT90S2313 devcode:
|
||||
avr910_devcode = 0x20;
|
||||
reset = io;
|
||||
chip_erase_delay = 4500;
|
||||
|
||||
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 = 1;
|
||||
|
||||
memory "eeprom"
|
||||
size = 128;
|
||||
min_write_delay = 4000;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
|
||||
"x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
|
||||
|
||||
write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
|
||||
"x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 4;
|
||||
readsize = 256;
|
||||
;
|
||||
memory "flash"
|
||||
paged = yes;
|
||||
size = 2048;
|
||||
page_size = 32;
|
||||
num_pages = 64;
|
||||
min_write_delay = 4500;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read_lo = " 0 0 1 0 0 0 0 0",
|
||||
" 0 0 0 0 0 0 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
read_hi = " 0 0 1 0 1 0 0 0",
|
||||
" 0 0 0 0 0 0 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
loadpage_lo = " 0 1 0 0 0 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x x a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x x a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
writepage = " 0 1 0 0 1 1 0 0",
|
||||
" 0 0 0 0 0 0 a9 a8",
|
||||
" a7 a6 a5 a4 x x x x",
|
||||
" x x x x x x x x";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 32;
|
||||
readsize = 256;
|
||||
;
|
||||
# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
|
||||
memory "signature"
|
||||
size = 3;
|
||||
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
|
||||
"x x x x x x a1 a0 o o o o o o o o";
|
||||
;
|
||||
memory "lock"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
|
||||
"x x x x x x x x 1 1 i i i i i i";
|
||||
;
|
||||
|
||||
memory "lfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "hfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "efuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
|
||||
"x x x x x x x x x x x x x x x i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "calibration"
|
||||
size = 1;
|
||||
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
|
||||
"0 0 0 0 0 0 0 a0 o o o o o o o o";
|
||||
;
|
||||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATtiny45
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "t45";
|
||||
desc = "ATtiny45";
|
||||
stk500_devcode = 0x14;
|
||||
## avr910_devcode = ?;
|
||||
## Try the AT90S2313 devcode:
|
||||
avr910_devcode = 0x20;
|
||||
reset = io;
|
||||
chip_erase_delay = 4500;
|
||||
|
||||
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 = 1;
|
||||
|
||||
memory "eeprom"
|
||||
size = 256;
|
||||
min_write_delay = 4000;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
|
||||
"a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
|
||||
|
||||
write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
|
||||
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 4;
|
||||
readsize = 256;
|
||||
;
|
||||
memory "flash"
|
||||
paged = yes;
|
||||
size = 4096;
|
||||
page_size = 64;
|
||||
num_pages = 64;
|
||||
min_write_delay = 4500;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read_lo = " 0 0 1 0 0 0 0 0",
|
||||
" 0 0 0 0 0 a10 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
read_hi = " 0 0 1 0 1 0 0 0",
|
||||
" 0 0 0 0 0 a10 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
loadpage_lo = " 0 1 0 0 0 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x a4 a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x a4 a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
writepage = " 0 1 0 0 1 1 0 0",
|
||||
" 0 0 0 0 0 a10 a9 a8",
|
||||
" a7 a6 a5 x x x x x",
|
||||
" x x x x x x x x";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 32;
|
||||
readsize = 256;
|
||||
;
|
||||
# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08.
|
||||
memory "signature"
|
||||
size = 3;
|
||||
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
|
||||
"x x x x x x a1 a0 o o o o o o o o";
|
||||
;
|
||||
memory "lock"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
|
||||
"x x x x x x x x 1 1 i i i i i i";
|
||||
;
|
||||
|
||||
memory "lfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "hfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "efuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
|
||||
"x x x x x x x x x x x x x x x i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "calibration"
|
||||
size = 1;
|
||||
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
|
||||
"0 0 0 0 0 0 0 a0 o o o o o o o o";
|
||||
;
|
||||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# ATtiny85
|
||||
#------------------------------------------------------------
|
||||
|
||||
part
|
||||
id = "t85";
|
||||
desc = "ATtiny85";
|
||||
## no STK500 devcode in XML file, use the ATtiny45 one
|
||||
stk500_devcode = 0x14;
|
||||
## avr910_devcode = ?;
|
||||
## Try the AT90S2313 devcode:
|
||||
avr910_devcode = 0x20;
|
||||
reset = io;
|
||||
chip_erase_delay = 4500;
|
||||
|
||||
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 = 1;
|
||||
|
||||
memory "eeprom"
|
||||
size = 512;
|
||||
min_write_delay = 4000;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
|
||||
"a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
|
||||
|
||||
write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
|
||||
"a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 4;
|
||||
readsize = 256;
|
||||
;
|
||||
memory "flash"
|
||||
paged = yes;
|
||||
size = 8192;
|
||||
page_size = 64;
|
||||
num_pages = 128;
|
||||
min_write_delay = 4500;
|
||||
max_write_delay = 4500;
|
||||
readback_p1 = 0xff;
|
||||
readback_p2 = 0xff;
|
||||
read_lo = " 0 0 1 0 0 0 0 0",
|
||||
" 0 0 0 0 a11 a10 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
read_hi = " 0 0 1 0 1 0 0 0",
|
||||
" 0 0 0 0 a11 a10 a9 a8",
|
||||
" a7 a6 a5 a4 a3 a2 a1 a0",
|
||||
" o o o o o o o o";
|
||||
|
||||
loadpage_lo = " 0 1 0 0 0 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x a4 a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
||||
" 0 0 0 x x x x x",
|
||||
" x x x a4 a3 a2 a1 a0",
|
||||
" i i i i i i i i";
|
||||
|
||||
writepage = " 0 1 0 0 1 1 0 0",
|
||||
" 0 0 0 0 a11 a10 a9 a8",
|
||||
" a7 a6 a5 x x x x x",
|
||||
" x x x x x x x x";
|
||||
|
||||
mode = 0x41;
|
||||
delay = 6;
|
||||
blocksize = 32;
|
||||
readsize = 256;
|
||||
;
|
||||
# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
|
||||
memory "signature"
|
||||
size = 3;
|
||||
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
|
||||
"x x x x x x a1 a0 o o o o o o o o";
|
||||
;
|
||||
memory "lock"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
|
||||
"x x x x x x x x 1 1 i i i i i i";
|
||||
;
|
||||
|
||||
memory "lfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "hfuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
|
||||
"x x x x x x x x i i i i i i i i";
|
||||
|
||||
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "efuse"
|
||||
size = 1;
|
||||
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
|
||||
"x x x x x x x x x x x x x x x i";
|
||||
|
||||
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
|
||||
"x x x x x x x x o o o o o o o o";
|
||||
;
|
||||
|
||||
memory "calibration"
|
||||
size = 1;
|
||||
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
|
||||
"0 0 0 0 0 0 0 a0 o o o o o o o o";
|
||||
;
|
||||
;
|
||||
|
||||
|
|
|
@ -237,6 +237,12 @@ Currently, the following MCU types are understood:
|
|||
@itemx c128
|
||||
AT90CAN128
|
||||
|
||||
@itemx pwm2
|
||||
AT90PWM2
|
||||
|
||||
@itemx pwm3
|
||||
AT90PWM3
|
||||
|
||||
@itemx 1200
|
||||
AT90S1200
|
||||
|
||||
|
@ -282,18 +288,39 @@ ATmega162
|
|||
@itemx m163
|
||||
ATmega163
|
||||
|
||||
@itemx m164
|
||||
ATmega164
|
||||
|
||||
@itemx m169
|
||||
ATmega169
|
||||
|
||||
@itemx m32
|
||||
ATmega32
|
||||
|
||||
@itemx m324
|
||||
ATmega324
|
||||
|
||||
@itemx m329
|
||||
ATmega329
|
||||
|
||||
@itemx m3290
|
||||
ATmega3290
|
||||
|
||||
@itemx m48
|
||||
ATmega48
|
||||
|
||||
@itemx m64
|
||||
ATmega64
|
||||
|
||||
@itemx m644
|
||||
ATmega644
|
||||
|
||||
@itemx m649
|
||||
ATmega649
|
||||
|
||||
@itemx m6490
|
||||
ATmega6490
|
||||
|
||||
@itemx m8
|
||||
ATmega8
|
||||
|
||||
|
@ -318,9 +345,18 @@ ATtiny15
|
|||
@itemx t2313
|
||||
ATtiny2313
|
||||
|
||||
@itemx t25
|
||||
ATtiny25
|
||||
|
||||
@itemx t26
|
||||
ATtiny26
|
||||
|
||||
@itemx t45
|
||||
ATtiny45
|
||||
|
||||
@itemx t85
|
||||
ATtiny85
|
||||
|
||||
@end table
|
||||
|
||||
(*) The AT90S2323 and ATtiny22 use the same algorithm.
|
||||
|
|
Loading…
Reference in New Issue