1646 lines
61 KiB
Plaintext
1646 lines
61 KiB
Plaintext
# $Id$
|
|
#
|
|
# AVRDUDE Configuration File
|
|
#
|
|
# This file contains configuration data used by AVRDUDE which describes
|
|
# the programming hardware pinouts and also provides part definitions.
|
|
# AVRDUDE's "-C" command line option specifies the location of the
|
|
# configuration file. The "-c" option names the programmer configuration
|
|
# which must match one of the entry's "id" parameter. The "-p" option
|
|
# identifies which part AVRDUDE is going to be programming and must match
|
|
# one of the parts' "id" parameter.
|
|
#
|
|
# Possible entry formats are:
|
|
#
|
|
# programmer
|
|
# id = <id1> [, <id2> [, <id3>] ...] ; # <idN> are quoted strings
|
|
# desc = <description> ; # quoted string
|
|
# type = par | stk500 ; # programmer type
|
|
# vcc = <num1> [, <num2> ... ] ; # pin number(s)
|
|
# reset = <num> ; # pin number
|
|
# sck = <num> ; # pin number
|
|
# mosi = <num> ; # pin number
|
|
# miso = <num> ; # pin number
|
|
# errled = <num> ; # pin number
|
|
# rdyled = <num> ; # pin number
|
|
# pgmled = <num> ; # pin number
|
|
# vfyled = <num> ; # pin number
|
|
# ;
|
|
#
|
|
# part
|
|
# id = <id> ; # quoted string
|
|
# desc = <description> ; # quoted string
|
|
# devicecode = <num> ; # numeric
|
|
# chip_erase_delay = <num> ; # micro-seconds
|
|
# pgm_enable = <instruction format> ;
|
|
# chip_erase = <instruction format> ;
|
|
# memory <memtype>
|
|
# paged = <yes/no> ; # yes / no
|
|
# size = <num> ; # bytes
|
|
# page_size = <num> ; # bytes
|
|
# num_pages = <num> ; # numeric
|
|
# min_write_delay = <num> ; # micro-seconds
|
|
# max_write_delay = <num> ; # micro-seconds
|
|
# readback_p1 = <num> ; # byte value
|
|
# readback_p2 = <num> ; # byte value
|
|
# pwroff_after_write = <yes/no> ; # yes / no
|
|
# read = <instruction format> ;
|
|
# write = <instruction format> ;
|
|
# read_lo = <instruction format> ;
|
|
# read_hi = <instruction format> ;
|
|
# write_lo = <instruction format> ;
|
|
# write_hi = <instruction format> ;
|
|
# loadpage_lo = <instruction format> ;
|
|
# loadpage_hi = <instruction format> ;
|
|
# writepage = <instruction format> ;
|
|
# ;
|
|
# ;
|
|
#
|
|
# If any of the above parameters are not specified, the default value
|
|
# of 0 is used for numerics or the empty string ("") for string
|
|
# values. If a required parameter is left empty, AVRDUDE will
|
|
# complain.
|
|
#
|
|
# NOTES:
|
|
# * 'devicecode' is the device code used by the STK500 (see codes
|
|
# listed below)
|
|
# * Not all memory types will implement all instructions.
|
|
# * AVR Fuse bits and Lock bits are implemented as a type of memory.
|
|
# * Example memory types are:
|
|
# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high
|
|
# fuse), "signature", "calibration", "lock"
|
|
# * The memory type specified on the avrdude command line must match
|
|
# one of the memory types defined for the specified chip.
|
|
# * The pwroff_after_write flag causes avrdude to attempt to
|
|
# power the device off and back on after an unsuccessful write to
|
|
# the affected memory area if VCC programmer pins are defined. If
|
|
# VCC pins are not defined for the programmer, a message
|
|
# indicating that the device needs a power-cycle is printed out.
|
|
# This flag was added to work around a problem with the
|
|
# at90s4433/2333's; see the at90s4433 errata at:
|
|
#
|
|
# http://www.atmel.com/atmel/acrobat/doc1280.pdf
|
|
#
|
|
# INSTRUCTION FORMATS
|
|
#
|
|
# Instruction formats are specified as a comma seperated list of
|
|
# string values containing information (bit specifiers) about each
|
|
# of the 32 bits of the instruction. Bit specifiers may be one of
|
|
# the following formats:
|
|
#
|
|
# '1' = the bit is always set on input as well as output
|
|
#
|
|
# '0' = the bit is always clear on input as well as output
|
|
#
|
|
# 'x' = the bit is ignored on input and output
|
|
#
|
|
# 'a' = the bit is an address bit, the bit-number matches this bit
|
|
# specifier's position within the current instruction byte
|
|
#
|
|
# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12
|
|
# is address bit 12 on input, a0 is address bit 0.
|
|
#
|
|
# 'i' = the bit is an input data bit
|
|
#
|
|
# 'o' = the bit is an output data bit
|
|
#
|
|
# Each instruction must be composed of 32 bit specifiers. The
|
|
# instruction specification closely follows the instruction data
|
|
# provided in Atmel's data sheets for their parts.
|
|
#
|
|
# See below for some examples.
|
|
#
|
|
#
|
|
# The following are STK500 part device codes to use for the
|
|
# "devicecode" field of the part. These came from Atmel's software
|
|
# section avr061.zip which accompanies the application note
|
|
# AVR061 available from:
|
|
#
|
|
# http://www.atmel.com/atmel/acrobat/doc2525.pdf
|
|
#
|
|
|
|
#define ATTINY10 0x10
|
|
#define ATTINY11 0x11
|
|
#define ATTINY12 0x12
|
|
|
|
#define ATTINY22 0x20
|
|
#define ATTINY26 0x21
|
|
#define ATTINY28 0x22
|
|
|
|
#define AT90S1200 0x33
|
|
|
|
#define AT90S2313 0x40
|
|
#define AT90S2323 0x41
|
|
#define AT90S2333 0x42
|
|
#define AT90S2343 0x43
|
|
|
|
#define AT90S4414 0x50
|
|
#define AT90S4433 0x51
|
|
#define AT90S4434 0x52
|
|
|
|
#define AT90S8515 0x60
|
|
#define AT90S8535 0x61
|
|
#define AT90C8534 0x62
|
|
#define ATMEGA8515 0x63
|
|
#define ATMEGA8535 0x64
|
|
|
|
#define ATMEGA8 0x70
|
|
|
|
#define ATMEGA161 0x80
|
|
#define ATMEGA163 0x81
|
|
#define ATMEGA16 0x82
|
|
#define ATMEGA162 0x83
|
|
#define ATMEGA169 0x84
|
|
|
|
#define ATMEGA323 0x90
|
|
#define ATMEGA32 0x91
|
|
|
|
#define ATMEGA103 0xB1
|
|
#define ATMEGA128 0xB2
|
|
|
|
#define AT86RF401 0xD0
|
|
|
|
#define AT89START 0xE0
|
|
#define AT89S51 0xE0
|
|
#define AT89S52 0xE1
|
|
|
|
|
|
#
|
|
# PROGRAMMER DEFINITIONS
|
|
#
|
|
|
|
programmer
|
|
id = "bsd", "default";
|
|
desc = "Brian Dean's Programmer";
|
|
type = par;
|
|
vcc = 2, 3, 4, 5;
|
|
reset = 7;
|
|
sck = 8;
|
|
mosi = 9;
|
|
miso = 10;
|
|
;
|
|
|
|
programmer
|
|
id = "stk500";
|
|
desc = "Atmel STK500";
|
|
type = stk500;
|
|
;
|
|
|
|
programmer
|
|
id = "stk200";
|
|
desc = "STK200";
|
|
type = par;
|
|
buff = 4, 5;
|
|
sck = 6;
|
|
mosi = 7;
|
|
reset = 9;
|
|
miso = 10;
|
|
;
|
|
|
|
programmer
|
|
id = "dt006";
|
|
desc = "Dontronics DT006";
|
|
type = par;
|
|
reset = 4;
|
|
sck = 5;
|
|
mosi = 2;
|
|
miso = 11;
|
|
;
|
|
|
|
programmer
|
|
id = "alf";
|
|
desc = "Tony Friebel's Programmer";
|
|
type = par;
|
|
vcc = 2, 3, 4, 5;
|
|
buff = 6;
|
|
reset = 7;
|
|
sck = 8;
|
|
mosi = 9;
|
|
miso = 10;
|
|
errled = 1;
|
|
rdyled = 14;
|
|
pgmled = 16;
|
|
vfyled = 17;
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# PART DEFINITIONS
|
|
#
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny15
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "t15";
|
|
desc = "ATtiny15";
|
|
devicecode = 0x13;
|
|
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";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = "1 0 1 0 0 0 0 0 x x x x x x x x",
|
|
"x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
|
|
|
|
write = "1 1 0 0 0 0 0 0 x x x x x x x x",
|
|
"x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x x x 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",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"0 0 0 0 0 0 a1 a0 o o o o o o o o";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0 0 1 1 1 0 0 0 x x x x x x x x",
|
|
"0 0 0 0 0 0 0 0 o o o o o o o o";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x o o o o x x o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
|
|
"x x x x x x x x i i i i 1 1 i i";
|
|
;
|
|
;
|
|
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s1200
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "1200";
|
|
desc = "AT90S1200";
|
|
devicecode = 0x33;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = "1 0 1 0 0 0 0 0 x x x x x x x x",
|
|
"x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
|
|
|
|
write = "1 1 0 0 0 0 0 0 x x x x x x x x",
|
|
"x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 1024;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x x x 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",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s4414
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "4414";
|
|
desc = "AT90S4414";
|
|
devicecode = 0x50;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x80;
|
|
readback_p2 = 0x7f;
|
|
read = " 1 0 1 0 0 0 0 0 x x x 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 x x x x x x x a8",
|
|
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 4096;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x7f;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x 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",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s2313
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "2313";
|
|
desc = "AT90S2313";
|
|
devicecode = 0x40;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x80;
|
|
readback_p2 = 0x7f;
|
|
read = "1 0 1 0 0 0 0 0 x x x 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 x x x x x x x x",
|
|
"x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x7f;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x x 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",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x 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 i i x",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s2333
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "2333";
|
|
desc = "AT90S2333";
|
|
devicecode = 0x42;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = "1 0 1 0 0 0 0 0 x x x 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 x x x x x x x x",
|
|
"x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x x 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",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
pwroff_after_write = yes;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s2343
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "2343";
|
|
desc = "AT90S2343";
|
|
chip_erase_delay = 18000;
|
|
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";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0",
|
|
"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 0 0 0 0 0",
|
|
"x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x x 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",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x o o o x x x x o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x o o o x x x x o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s4433
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "4433";
|
|
desc = "AT90S4433";
|
|
devicecode = 0x51;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0 x x x 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 x x x x x x x x",
|
|
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 4096;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x 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",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
pwroff_after_write = yes;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s4434
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "4434";
|
|
desc = "AT90S4434";
|
|
devicecode = 0x52;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0 x x x 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 x x x x x x x x",
|
|
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 4096;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x x 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",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s8515
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "8515";
|
|
desc = "AT90S8515";
|
|
devicecode = 0x63;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x80;
|
|
readback_p2 = 0x7f;
|
|
read = " 1 0 1 0 0 0 0 0 x x x 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 x x x x x x x a8",
|
|
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 8192;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x7f;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x 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",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
memory "fuse"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x x x o";
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
memory "lock"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x o o x x x x x x";
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90s8535
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "8535";
|
|
desc = "AT90S8535";
|
|
devicecode = 0x64;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0 x x x 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 x x x x x x x a8",
|
|
"a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
size = 8192;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" x x x x 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",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" o o o o o o o o";
|
|
|
|
write_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
write_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega103
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m103";
|
|
desc = "ATMEGA103";
|
|
devicecode = 0xB1;
|
|
chip_erase_delay = 112000;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0x00;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" x x x x a11 a10 a9 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",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 131072;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 22000;
|
|
max_write_delay = 56000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
"a15 a14 a13 a12 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",
|
|
"a15 a14 a13 a12 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",
|
|
" x x x x x x x x",
|
|
" x a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x x",
|
|
" x a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
writepage = " 0 1 0 0 1 1 0 0",
|
|
"a15 a14 a13 a12 a11 a10 a9 a8",
|
|
" a7 x x x x x x x",
|
|
" x x x x x x x x";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
read = "0 1 0 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x o x o 1 o o";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 x x x x x x x x",
|
|
"x x x x x x x x x x x x x o o x";
|
|
|
|
write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
|
|
"x x x x x x x x x x x x x x x x";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega128
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m128";
|
|
desc = "ATMEGA128";
|
|
devicecode = 0xB2;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xD7;
|
|
bs2 = 0xA0;
|
|
reset = dedicated;
|
|
serial = yes;
|
|
parallel = yes;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
|
|
memory "eeprom"
|
|
paged = no; /* leave this "no" */
|
|
page_size = 8; /* for parallel programming */
|
|
size = 4096;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" x x x x a11 a10 a9 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",
|
|
" x x x x a11 a10 a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 131072;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0x00;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
"a15 a14 a13 a12 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",
|
|
"a15 a14 a13 a12 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",
|
|
" x x x x x x x x",
|
|
" x a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x x",
|
|
" x a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
writepage = " 0 1 0 0 1 1 0 0",
|
|
"a15 a14 a13 a12 a11 a10 a9 a8",
|
|
" a7 x x x x x x x",
|
|
" x x x x x x x x";
|
|
;
|
|
|
|
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 i 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 "lock"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
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 "calibration"
|
|
size = 1;
|
|
read = "0 0 1 1 1 0 0 0 x x x x x x x x",
|
|
"0 0 0 0 0 0 0 0 o o o o o o o o";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m16";
|
|
desc = "ATMEGA16";
|
|
devicecode = 0x82;
|
|
chip_erase_delay = 9000;
|
|
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";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" 0 0 x x x x a9 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 x x x x a9 a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 16384;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read_lo = " 0 0 1 0 0 0 0 0",
|
|
" 0 0 a13 a12 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 a13 a12 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 x x x x x x",
|
|
" x x a5 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 x x x x x x",
|
|
" x x a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
writepage = " 0 1 0 0 1 1 0 0",
|
|
" 0 0 a13 a12 a11 a10 a9 a8",
|
|
" a7 a6 x x x x x x",
|
|
" x x x x x x x x";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
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;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega163
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m163";
|
|
desc = "ATMEGA163";
|
|
devicecode = 0x81;
|
|
chip_erase_delay = 32000;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" x x x 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",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 16384;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read_lo = " 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";
|
|
|
|
read_hi = " 0 0 1 0 1 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";
|
|
|
|
loadpage_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x x x",
|
|
" x x a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x x",
|
|
" x x a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
writepage = " 0 1 0 0 1 1 0 0",
|
|
" x x x a12 a11 a10 a9 a8",
|
|
" a7 a6 x x x x x x",
|
|
" x x x x x x x x";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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 x x o o o o";
|
|
|
|
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 1 1 i i i i";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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 x x x x 1 o o o";
|
|
|
|
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 1 1 1 1 1 i i i";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
|
|
"x x x x 0 x x x x x o o o o o o";
|
|
|
|
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 "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0 0 1 1 1 0 0 0 x x x x x x x x",
|
|
"0 0 0 0 0 0 0 0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega169
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m169";
|
|
desc = "ATMEGA169";
|
|
devicecode = 0x85;
|
|
chip_erase_delay = 32000;
|
|
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 0 0 0 0 0",
|
|
"x x x x x x x x x x x x x x x x";
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" x x x 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",
|
|
" x x x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 16384;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read_lo = " 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";
|
|
|
|
read_hi = " 0 0 1 0 1 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";
|
|
|
|
loadpage_lo = " 0 1 0 0 0 0 0 0",
|
|
" x x x x x x x x",
|
|
" x x a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
loadpage_hi = " 0 1 0 0 1 0 0 0",
|
|
" x x x x x x x x",
|
|
" x x a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
|
|
writepage = " 0 1 0 0 1 1 0 0",
|
|
" x x x a12 a11 a10 a9 a8",
|
|
" a7 a6 x x x x x x",
|
|
" x x x x x x x x";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
|
|
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 i 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 "lock"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
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 "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 "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 0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
id = "m8";
|
|
desc = "ATMEGA8";
|
|
devicecode = 0x70;
|
|
chip_erase_delay = 9000;
|
|
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";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback_p1 = 0xff;
|
|
readback_p2 = 0xff;
|
|
read = " 1 0 1 0 0 0 0 0",
|
|
" 0 0 x 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 x x x x x a8",
|
|
" a7 a6 a5 a4 a3 a2 a1 a0",
|
|
" i i i i i i i i";
|
|
;
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 9000;
|
|
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 0 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 0 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";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
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";
|
|
|
|
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";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
|
|
"x x x x x x x x x x o o o o o o";
|
|
|
|
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 "calibration"
|
|
size = 1;
|
|
read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
|
|
"0 0 0 0 0 0 0 0 o o o o o o o o";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
|
|
"x x x x x x a1 a0 o o o o o o o o";
|
|
;
|
|
;
|
|
|