mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-12-13 09:24:55 +00:00
$HOME/.avrduderc. Entries from .avrduderc take precedence over those
from the system wide config file in ${PREFIX}/etc/avrdude.conf.
Track and display the config file name and line number when we print
out the available parts and programmers. This is useful in case
someone has overridden a definition in their .avrduderc file and is
wondering why the definition in the system wide config file is not
being used.
Remove the default programmer 'stk500' from the distributed config
file.
git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@222 81a1dc3b-b13d-400b-aceb-764788c761c2
1655 lines
61 KiB
Plaintext
1655 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
|
|
# pagel = <num> ; # pin name in hex, i.e., 0xD7
|
|
# bs2 = <num> ; # pin name in hex, i.e., 0xA0
|
|
# reset = dedicated | io;
|
|
# retry_pulse = reset | sck;
|
|
# 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
|
|
|
|
|
|
#
|
|
# Overall avrdude defaults
|
|
#
|
|
default_parallel = "/dev/ppi0";
|
|
default_serial = "/dev/cuaa0";
|
|
|
|
|
|
#
|
|
# PROGRAMMER DEFINITIONS
|
|
#
|
|
|
|
programmer
|
|
id = "bsd";
|
|
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;
|
|
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";
|
|
;
|
|
;
|
|
|