22342 lines
855 KiB
Plaintext
22342 lines
855 KiB
Plaintext
# $Id$ -*- text -*-
|
|
#
|
|
# 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.
|
|
#
|
|
# DO NOT MODIFY THIS FILE. Modifications will be overwritten the next
|
|
# time a "make install" is run. For user-specific additions, use the
|
|
# "-C +filename" command line option.
|
|
#
|
|
# Possible entry formats are:
|
|
#
|
|
# programmer
|
|
# parent <id> # optional parent
|
|
# id = <id1> [, <id2> ... ] ; # <idN> are quoted strings
|
|
# desc = <description> ; # quoted string
|
|
# type = <type>; # programmer type, quoted string
|
|
# # supported types can be listed by "-c ?type"
|
|
# prog_modes = PM_<i/f> {| PM_<i/f>} # interfaces, eg, PM_SPM|PM_PDI (1)
|
|
# extra_features = HAS_<fea> {| HAS_<fea>} # extra features, eg, HAS_SUFFER|HAS_VTARG_ADJ (2)
|
|
# connection_type = parallel | serial | usb | spi
|
|
# baudrate = <num> ; # baudrate for avr910-programmer
|
|
# vcc = <pin1> [, <pin2> ... ] ; # pin number(s)
|
|
# buff = <pin1> [, <pin2> ... ] ; # pin number(s)
|
|
# reset = <pin> ; # pin number
|
|
# sck = <pin> ; # pin number
|
|
# sdo = <pin> ; # pin number
|
|
# sdi = <pin> ; # pin number
|
|
# errled = <pin> ; # pin number
|
|
# rdyled = <pin> ; # pin number
|
|
# pgmled = <pin> ; # pin number
|
|
# vfyled = <pin> ; # pin number
|
|
# usbvid = <hexnum> ; # USB VID (Vendor ID)
|
|
# usbpid = <hexnum> [, <hexnum> ...] ; # USB PID (Product ID) (3)
|
|
# usbdev = <interface> ; # USB interface or other device info
|
|
# usbvendor = <vendorname> ; # USB Vendor Name
|
|
# usbproduct = <productname> ; # USB Product Name
|
|
# usbsn = <serialno> ; # USB Serial Number
|
|
# hvupdi_support = <num> [, <num>, ... ] ; # UPDI HV Variants Support
|
|
# ;
|
|
#
|
|
# # To invert a pin use = ~ <num>
|
|
# # To invert a pin list (all pins get inverted) use ~ ( <num1> [, <num2> ... ] )
|
|
# #
|
|
# # (1) The following program modes are known:
|
|
# # - PM_SPM: Bootloaders, self-programming with SPM opcodes or NVM Controllers
|
|
# # - PM_TPI: Tiny Programming Interface (t4, t5, t9, t10, t20, t40, t102, t104)
|
|
# # - PM_ISP: SPI programming for In-System Programming (almost all classic parts)
|
|
# # - PM_PDI: Program and Debug Interface (xmega parts)
|
|
# # - PM_UPDI: Unified Program and Debug Interface
|
|
# # - PM_HVSP: High Voltage Serial Programming (some classic parts)
|
|
# # - PM_HVPP: High Voltage Parallel Programming (most non-HVSP classic parts)
|
|
# # - PM_debugWIRE: Simpler alternative to JTAG (a subset of HVPP/HVSP parts)
|
|
# # - PM_JTAG: Joint Test Action Group standard (some classic parts)
|
|
# # - PM_JTAGmkI: Subset of PM_JTAG, older parts, Atmel ICE mkI
|
|
# # - PM_XMEGAJTAG: JTAG, some XMEGA parts
|
|
# # - PM_AVR32JTAG: JTAG for 32-bit AVRs
|
|
# # - PM_aWire: AVR32 parts
|
|
# #
|
|
# # (2) The following extra programmer features are known:
|
|
# # - HAS_SUFFER: Only present on Xplained Mini/Nano programmers.
|
|
# # The Super User Fantastic Feature Enable Register allows the user to modify
|
|
# # the behavior of the mEDBG programmer/debugger chip. See the Xplained Mini/Nano
|
|
# # documentation for more information
|
|
# # - HAS_VTARG_SWITCH: Programer has a programmable target power switch
|
|
# # - HAS_VTARG_ADJ: Programmer has an adjustable target power source that can
|
|
# # be controlled with Avrdude
|
|
# # - HAS_FOSC_ADJ: Programmer has a programable frequency generator that
|
|
# # can clock an AVR directly through its XTAL1 pin
|
|
# # - HAS_VAREF_ADJ: Programmer has an adjustable analog reference voltage that
|
|
# # can be controlled with Avrdude
|
|
# #
|
|
# # (3) Not all programmer types can process a list of PIDs
|
|
#
|
|
# part
|
|
# desc = <description> ; # quoted string, the long part name, eg, "ATmega328p"
|
|
# id = <id> ; # quoted string, normally an abbreviated part name
|
|
# variants = <str1> [, <str2> ...]; # quoted strings, each starts with "<alt-name>: ..."
|
|
# family_id = <id> ; # quoted string, eg, "megaAVR" or "tinyAVR"
|
|
# prog_modes = PM_<i/f> {| PM_<i/f>} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE
|
|
# mcuid = <num>; # unique id in 0..2039 for 8-bit AVRs
|
|
# n_interrupts = <num>; # number of interrupts, used for vector bootloaders
|
|
# n_page_erase = <num>; # if set, number of pages erased during SPM erase
|
|
# n_boot_sections = <num>; # Number of boot sections
|
|
# boot_section_size = <num>; # Size of (smallest) boot section, if any
|
|
# hvupdi_variant = <num> ; # numeric -1 (n/a) or 0..2
|
|
# devicecode = <num> ; # deprecated, use stk500_devcode
|
|
# stk500_devcode = <num> ; # numeric
|
|
# avr910_devcode = <num> ; # numeric
|
|
# has_jtag = <yes/no> ; # part has JTAG i/f (deprecated, use prog_modes)
|
|
# has_debugwire = <yes/no> ; # part has debugWire i/f (deprecated, use prog_modes)
|
|
# has_pdi = <yes/no> ; # part has PDI i/f (deprecated, use prog_modes)
|
|
# has_updi = <yes/no> ; # part has UPDI i/f (deprecated, use prog_modes)
|
|
# has_tpi = <yes/no> ; # part has TPI i/f (deprecated, use prog_modes)
|
|
# is_avr32 = <yes/no> ; # AVR32 part (deprecated, use prog_modes)
|
|
# is_at90s1200 = <yes/no> ; # AT90S1200 part
|
|
# signature = <num> <num> <num> ; # signature bytes
|
|
# usbpid = <num> ; # DFU USB PID
|
|
# chip_erase_delay = <num> ; # microseconds
|
|
# reset = dedicated | io ;
|
|
# retry_pulse = reset | sck ;
|
|
# # STK500 parameters (parallel programming IO lines)
|
|
# pagel = <num> ; # page load pin name in hex, eg, 0xD7
|
|
# bs2 = <num> ; # byte select 2 pin name in hex, eg, 0xA0
|
|
# serial = <yes/no> ; # can use serial downloading
|
|
# parallel = <yes/no/pseudo> ; # can use parallel programming
|
|
# # STK500v2 parameters, to be taken from Atmel's ATDF files
|
|
# timeout = <num> ;
|
|
# stabdelay = <num> ;
|
|
# cmdexedelay = <num> ;
|
|
# synchloops = <num> ;
|
|
# bytedelay = <num> ;
|
|
# pollvalue = <num> ;
|
|
# pollindex = <num> ;
|
|
# predelay = <num> ;
|
|
# postdelay = <num> ;
|
|
# pollmethod = <num> ;
|
|
# hvspcmdexedelay = <num> ;
|
|
# # STK500v2 HV programming parameters, from ATDFs
|
|
# pp_controlstack = <num>, <num>, ... ; # PP only
|
|
# hvsp_controlstack = <num>, <num>, ... ; # HVSP only
|
|
# flash_instr = <num>, <num>, <num> ;
|
|
# eeprom_instr = <num>, <num>, ... ;
|
|
# hventerstabdelay = <num> ;
|
|
# progmodedelay = <num> ; # PP only
|
|
# latchcycles = <num> ;
|
|
# togglevtg = <num> ;
|
|
# poweroffdelay = <num> ;
|
|
# resetdelayms = <num> ;
|
|
# resetdelayus = <num> ;
|
|
# hvleavestabdelay = <num> ;
|
|
# resetdelay = <num> ;
|
|
# synchcycles = <num> ; # HVSP only
|
|
# chiperasepulsewidth = <num> ; # PP only
|
|
# chiperasepolltimeout = <num> ;
|
|
# chiperasetime = <num> ; # HVSP only
|
|
# programfusepulsewidth = <num> ; # PP only
|
|
# programfusepolltimeout = <num> ;
|
|
# programlockpulsewidth = <num> ; # PP only
|
|
# programlockpolltimeout = <num> ;
|
|
# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files
|
|
# allowfullpagebitstream = <yes/no> ;
|
|
# enablepageprogramming = <yes/no> ;
|
|
# idr = <num> ; # IO addr of IDR (OCD) reg
|
|
# rampz = <num> ; # IO addr of RAMPZ reg
|
|
# spmcr = <num> ; # mem addr of SPMC[S]R reg
|
|
# eecr = <num> ; # mem addr of EECR reg
|
|
# eind = <num> ; # mem addr of EIND reg
|
|
# mcu_base = <num> ; # MCU control block in ATxmega devices
|
|
# nvm_base = <num> ; # NVM controller in ATxmega devices
|
|
# ocd_base = <num> ; # OCD module in AVR8X/UPDI devices
|
|
# ocdrev = <num> ; # JTAGICE3 parameter from ATDF files
|
|
# pgm_enable = <instruction format> ;
|
|
# chip_erase = <instruction format> ;
|
|
# # parameters for bootloaders
|
|
# autobaud_sync = <num> ; # autobaud detection byte, default 0x30
|
|
#
|
|
# memory <memtype>
|
|
# paged = <yes/no> ; # yes/no (flash only, do not use for EEPROM)
|
|
# offset = <num> ; # memory offset
|
|
# size = <num> ; # bytes
|
|
# page_size = <num> ; # bytes
|
|
# num_pages = <num> ; # numeric
|
|
# initval = <num> ; # factory setting of fuses and lockbits
|
|
# bitmask = <num> ; # bits used (only in fuses and lockbits)
|
|
# n_word_writes = <num> ; # TPI only: if set, number of words to write
|
|
# min_write_delay = <num> ; # micro-seconds
|
|
# max_write_delay = <num> ; # micro-seconds
|
|
# readback = <num> <num> ; # pair of byte values
|
|
# readback_p1 = <num> ; # byte value (first component)
|
|
# readback_p2 = <num> ; # byte value (second component)
|
|
# pwroff_after_write = <yes/no> ; # yes/no
|
|
# mode = <num> ; # STK500 v2 file parameter from ATDF files
|
|
# delay = <num> ; # "
|
|
# blocksize = <num> ; # "
|
|
# readsize = <num> ; # "
|
|
# 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 (except for mcuid, hvupdi_variant, ocdrev,
|
|
# initval and bitmask, all of which default to -1, and for autobaud_sync
|
|
# which defaults to 0x30), or the empty string "" for string values. If
|
|
# a required parameter is left empty, AVRDUDE will complain. Almost all
|
|
# occurrences of numbers (with the exception of pin numbers and where
|
|
# they are separated by space, eg, in signature and readback) can also
|
|
# be given as simple expressions involving arithemtic and bitwise
|
|
# operators.
|
|
#
|
|
# Parts can also inherit parameters from previously defined parts
|
|
# using the following syntax. In this case specified integer and
|
|
# string values override parameter values from the parent part. New
|
|
# memory definitions are added to the definitions inherited from the
|
|
# parent. If, however, a new memory definition refers to an existing
|
|
# one of the same name for that part then, from v7.1, the existing
|
|
# memory definition is extended, and components overwritten with new
|
|
# values. Assigning NULL removes an inherited SPI instruction format,
|
|
# memory definition, control stack, eeprom or flash instruction, eg,
|
|
# as in memory "efuse" = NULL;
|
|
#
|
|
# part parent <id> # quoted string
|
|
# id = <id> ; # quoted string
|
|
# <any set of other parameters from the list above>
|
|
# ;
|
|
#
|
|
# 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:
|
|
#
|
|
# https://www.microchip.com/content/dam/mchp/documents/OTH/ProductDocuments/DataSheets/doc1042.pdf
|
|
#
|
|
# INSTRUCTION FORMATS
|
|
#
|
|
# Instruction formats are specified as a comma separated 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 and set as 0
|
|
#
|
|
# 'a' = the bit is an address bit; from v 7.1 the bit-number
|
|
# is set to match the right bit position for the
|
|
# instruction to "just work"
|
|
#
|
|
# '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 (can optionally be followed
|
|
# by a memory bit position between 0 and 7 if that differs
|
|
# from the bit-position in the SPI write command byte)
|
|
#
|
|
# 'o' = the bit is an output data bit (can optionally be followed
|
|
# by a memory bit position between 0 and 7)
|
|
#
|
|
# 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. Note that flash
|
|
# addresses always refer to *word* addresses whilst all other
|
|
# memory types specify *byte* addresses.
|
|
#
|
|
# Example for signature read on the ATmega328P:
|
|
# 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";
|
|
#
|
|
# As the address bit numbers in the SPI opcodes are highly
|
|
# systematic, they don't really need to be specified. A compact
|
|
# version of the format specification neither uses bit-numbers for
|
|
# address lines nor spaces. If such a string is longer than 7
|
|
# characters, then the characters 0, 1, x, a, i and o will be
|
|
# recognised as the corresponding bit, whilst any of the characters
|
|
# ., -, _ or / can act as arbitrary visual separators, which are
|
|
# ignored. Examples:
|
|
#
|
|
# loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
#
|
|
# loadpage_lo = "0100.0000", "000x.xxxx", "xxaa.aaaa", "iiii.iiii";
|
|
#
|
|
#
|
|
# 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:
|
|
#
|
|
# https://ww1.microchip.com/downloads/en/Appnotes/doc2525.pdf
|
|
#
|
|
|
|
#define ATTINY10 0x10 /* the _old_ one that never existed! */
|
|
#define ATTINY11 0x11
|
|
#define ATTINY12 0x12
|
|
#define ATTINY15 0x13
|
|
#define ATTINY13 0x14
|
|
|
|
#define ATTINY22 0x20
|
|
#define ATTINY26 0x21
|
|
#define ATTINY28 0x22
|
|
#define ATTINY2313 0x23
|
|
|
|
#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 ATMEGA48 0x59
|
|
|
|
#define AT90S8515 0x60
|
|
#define AT90S8535 0x61
|
|
#define AT90C8534 0x62
|
|
#define ATMEGA8515 0x63
|
|
#define ATMEGA8535 0x64
|
|
|
|
#define ATMEGA8 0x70
|
|
#define ATMEGA88 0x73
|
|
#define ATMEGA168 0x86
|
|
|
|
#define ATMEGA161 0x80
|
|
#define ATMEGA163 0x81
|
|
#define ATMEGA16 0x82
|
|
#define ATMEGA162 0x83
|
|
#define ATMEGA169 0x84
|
|
|
|
#define ATMEGA323 0x90
|
|
#define ATMEGA32 0x91
|
|
|
|
#define ATMEGA64 0xA0
|
|
|
|
#define ATMEGA103 0xB1
|
|
#define ATMEGA128 0xB2
|
|
#define AT90CAN128 0xB3
|
|
#define AT90CAN64 0xB3
|
|
#define AT90CAN32 0xB3
|
|
|
|
#define AT86RF401 0xD0
|
|
|
|
#define AT89START 0xE0
|
|
#define AT89S51 0xE0
|
|
#define AT89S52 0xE1
|
|
|
|
# The following table lists the devices in the original AVR910
|
|
# appnote:
|
|
# |Device |Signature | Code |
|
|
# +-------+----------+------+
|
|
# |tiny12 | 1E 90 05 | 0x55 |
|
|
# |tiny15 | 1E 90 06 | 0x56 |
|
|
# | | | |
|
|
# | S1200 | 1E 90 01 | 0x13 |
|
|
# | | | |
|
|
# | S2313 | 1E 91 01 | 0x20 |
|
|
# | S2323 | 1E 91 02 | 0x48 |
|
|
# | S2333 | 1E 91 05 | 0x34 |
|
|
# | S2343 | 1E 91 03 | 0x4C |
|
|
# | | | |
|
|
# | S4414 | 1E 92 01 | 0x28 |
|
|
# | S4433 | 1E 92 03 | 0x30 |
|
|
# | S4434 | 1E 92 02 | 0x6C |
|
|
# | | | |
|
|
# | S8515 | 1E 93 01 | 0x38 |
|
|
# | S8535 | 1E 93 03 | 0x68 |
|
|
# | | | |
|
|
# |mega32 | 1E 95 01 | 0x72 |
|
|
# |mega83 | 1E 93 05 | 0x65 |
|
|
# |mega103| 1E 97 01 | 0x41 |
|
|
# |mega161| 1E 94 01 | 0x60 |
|
|
# |mega163| 1E 94 02 | 0x64 |
|
|
|
|
# Appnote AVR109 also has a table of AVR910 device codes, which
|
|
# lists:
|
|
# dev avr910 signature
|
|
# ATmega8 0x77 0x1E 0x93 0x07
|
|
# ATmega8515 0x3B 0x1E 0x93 0x06
|
|
# ATmega8535 0x6A 0x1E 0x93 0x08
|
|
# ATmega16 0x75 0x1E 0x94 0x03
|
|
# ATmega162 0x63 0x1E 0x94 0x04
|
|
# ATmega163 0x66 0x1E 0x94 0x02
|
|
# ATmega169 0x79 0x1E 0x94 0x05
|
|
# ATmega32 0x7F 0x1E 0x95 0x02
|
|
# ATmega323 0x73 0x1E 0x95 0x01
|
|
# ATmega64 0x46 0x1E 0x96 0x02
|
|
# ATmega128 0x44 0x1E 0x97 0x02
|
|
#
|
|
# These codes refer to "BOOT" device codes which are apparently
|
|
# different than standard device codes, for whatever reasons
|
|
# (often one above the standard code).
|
|
|
|
# There are several extended versions of AVR910 implementations around
|
|
# in the Internet. These add the following codes (only devices that
|
|
# actually exist are listed):
|
|
|
|
# ATmega8515 0x3A
|
|
# ATmega128 0x43
|
|
# ATmega64 0x45
|
|
# ATtiny26 0x5E
|
|
# ATmega8535 0x69
|
|
# ATmega32 0x72
|
|
# ATmega16 0x74
|
|
# ATmega8 0x76
|
|
# ATmega169 0x78
|
|
|
|
#
|
|
# Overall avrdude defaults; suitable for ~/.config/avrdude/avrdude.rc
|
|
#
|
|
default_parallel = "lpt1";
|
|
default_serial = "com1";
|
|
default_spi = "";
|
|
# default_bitclock = 2.5;
|
|
default_linuxgpio = "unknown";
|
|
allow_subshells = no;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# PROGRAMMER DEFINITIONS
|
|
#
|
|
|
|
#------------------------------------------------------------
|
|
# dryrun
|
|
#------------------------------------------------------------
|
|
|
|
# Using -c dryrun is a good way to get acquainted with AVRDUDE and its
|
|
# command line -U memory operations, -T terminal commands or the
|
|
# interactive terminal -t. No hardware needs to be connected, as the
|
|
# dryrun programmer emulates what can be expected to happen with a real
|
|
# -c programmer and a corresponding connected physical programmer or a
|
|
# directly connected board when it has a bootloader.
|
|
#
|
|
# Examples:
|
|
# avrdude -c dryrun -p ATmega328P -t # Interactive terminal: enter help
|
|
# avrdude -c dryrun -p ATmega2560 -U flash:w:myapplication.hex:i
|
|
# avrdude -c dryrun -p AVR64DB48 -Tconfig
|
|
|
|
programmer
|
|
id = "dryrun";
|
|
desc = "Emulates programming without a programmer";
|
|
type = "dryrun";
|
|
prog_modes = PM_TPI | PM_ISP | PM_UPDI | PM_PDI;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# wiring
|
|
#------------------------------------------------------------
|
|
|
|
# http://wiring.org.co/
|
|
# Basically STK500v2 protocol, with some glue to trigger the bootloader
|
|
|
|
programmer
|
|
id = "wiring";
|
|
desc = "Wiring for bootloader using STK500 v2 protocol";
|
|
type = "wiring";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduino
|
|
#------------------------------------------------------------
|
|
|
|
# Serves optiboot bootloaders and others using the STK500v1 protocol;
|
|
# it is superseded by the more modern -c urclock programmer, see below.
|
|
# The programmer is named after the popular embedded programming
|
|
# environment Arduino that has for a long time used optiboot
|
|
# bootloaders. Same as the stk500v1 except that it resets the attached
|
|
# board and treats EEPROM as the optiboot bootloaders expect.
|
|
|
|
programmer
|
|
id = "arduino";
|
|
desc = "Arduino for bootloader using STK500 v1 protocol";
|
|
type = "arduino";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# urclock
|
|
#------------------------------------------------------------
|
|
|
|
# Serves urboot and optiboot bootloaders
|
|
# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection
|
|
# - Automatically resets an attached board via RTS/DTR into bootloader mode
|
|
# - Implements urprotocol, a skeleton version of STK500v1
|
|
# - Supports vector bootloaders by patching interrupt vectors during upload:
|
|
# + Vector bootloaders run on all parts, no need for a HW boot section
|
|
# + Can be much smaller than the smallest HW boot section of a part, eg,
|
|
# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes)
|
|
# - Checks sizes of applications so they don't overwrite the bootloader
|
|
# - Keeps the bootloader alive during interactive terminal sessions
|
|
# - Provides a 4-byte metadata interface in top flash for
|
|
# + Allowing applications to utilise unused flash similar to EEPROM
|
|
# + Storing in top flash the file name and its last-modified date
|
|
# + Displaying file name and date of the last uploaded application
|
|
#
|
|
# See https://github.com/stefanrueger/urboot
|
|
|
|
programmer
|
|
id = "urclock";
|
|
desc = "Urclock programmer for urboot bootloaders using urprotocol";
|
|
type = "urclock";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xbee
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xbee";
|
|
desc = "XBee for Series 2 Over-The-Air (XBeeBoot) bootloader using STK500 v1 protocol";
|
|
type = "xbee";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ft2232h
|
|
#------------------------------------------------------------
|
|
|
|
# Interfaces with the chips on these programmers:
|
|
# - http://real.kiev.ua/old/avreal/en/adapters
|
|
# - http://www.amontec.com/jtagkey.shtml and .../jtagkey-tiny.shtml
|
|
# - http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html
|
|
# - http://www.ethernut.de/en/hardware/turtelizer/index.html
|
|
# - https://web.archive.org/web/20161221220118/http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html
|
|
# - http://dangerousprototypes.com/docs/FT2232_breakout_board
|
|
# - http://flashrom.org/FT2232SPI_Programmer
|
|
#
|
|
# The drivers will look for a specific device and use the first one
|
|
# found. If you have mulitple devices, and they give out serial
|
|
# numbers, a different entry for each of them can be created in a
|
|
# persnonal ~/.avrduderc or avrdude.rc entry and the usbsn = "...";
|
|
# field added to distinguish between them.
|
|
#
|
|
# Note that the pin numbers for the main ISP signals (reset, sck,
|
|
# sdo, sdi) are fixed and cannot be changed, since they must match
|
|
# the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of
|
|
# these FTDI ICs has been designed.
|
|
#
|
|
# See also https://ftdichip.com/wp-content/uploads/2020/07/DS_FT2232H.pdf
|
|
|
|
programmer
|
|
id = "ft2232h", "avrftdi", "2232h";
|
|
desc = "FT2232H/D based generic programmer";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0x6010;
|
|
usbdev = "A";
|
|
# ISP-signals - lower ADBUS-Nibble (default)
|
|
reset = 3; # AD3 (TMS)
|
|
sck = 0; # AD0 (TCK)
|
|
sdo = 1; # AD1 (TDI)
|
|
sdi = 2; # AD2 (TDO)
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# 2232HIO
|
|
#------------------------------------------------------------
|
|
|
|
# This is an implementation of the above with a buffer IC (74AC244) and
|
|
# 4 LEDs directly attached, all active low.
|
|
|
|
programmer parent "ft2232h"
|
|
id = "2232hio";
|
|
desc = "2232hio based on FT2232H with buffer and LEDs";
|
|
buff = ~4;
|
|
# LED SIGNALs
|
|
errled = ~11;
|
|
rdyled = ~14;
|
|
pgmled = ~13;
|
|
vfyled = ~12;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# tigard
|
|
#------------------------------------------------------------
|
|
|
|
# Tigard - FT2232H based multi-protocol tool for hardware hacking
|
|
# https://github.com/tigard-tools/tigard
|
|
|
|
programmer parent "ft2232h"
|
|
id = "tigard";
|
|
desc = "Tigard interface board";
|
|
usbdev = "B";
|
|
# Reset is different to the FT2232H; sck, sdo, sdi remain at 0, 1, 2
|
|
reset = 5; # BD5 (GPIOL1)
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avrisp-u
|
|
#------------------------------------------------------------
|
|
|
|
# Kanda's low cost FT2232H based programmer. Uses a different reset pin.
|
|
# Adds a buffer and a LED indicating that the programming is in progress.
|
|
# https://www.kanda.com/products/Kanda/AVRISP-U.html
|
|
|
|
programmer parent "ft2232h"
|
|
id = "avrisp-u";
|
|
desc = "Kanda AVRISP-U";
|
|
usbsn = "AVR";
|
|
buff = ~5;
|
|
reset = 4;
|
|
pgmled = ~10;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ft4232h
|
|
#------------------------------------------------------------
|
|
|
|
# The FT4232H can be treated as FT2232H but with a different USB
|
|
# device ID of 0x6011
|
|
|
|
programmer parent "ft2232h"
|
|
id = "ft4232h", "4232h";
|
|
desc = "FT4232H based generic programmer";
|
|
usbpid = 0x6011;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtagkey
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtagkey";
|
|
desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
# Note: This PID is used in all JTAGKey variants
|
|
usbpid = 0xcff8;
|
|
usbdev = "A";
|
|
buff = ~4;
|
|
# ISP-signals => 20 - Pin connector on JTAGKey
|
|
reset = 3; # TMS 7 violet
|
|
sck = 0; # TCK 9 white
|
|
sdo = 1; # TDI 5 green
|
|
sdi = 2; # TDO 13 orange
|
|
# VTG VREF 1 brown with red tip
|
|
# GND GND 20 black
|
|
# The colors are on the 20 pin breakout cable from Amontec
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ft232h
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "ft232h";
|
|
desc = "FT232H based generic programmer";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0x6014;
|
|
usbdev = "A";
|
|
# ISP-signals
|
|
reset = 3; # AD3 (TMS)
|
|
sck = 0; # AD0 (TCK)
|
|
sdo = 1; # AD1 (TDI)
|
|
sdi = 2; # AD2 (TDO)
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# um232h
|
|
#------------------------------------------------------------
|
|
|
|
# Pin J2-7 (AD0) is SCK
|
|
# Pin J2-8 (AD1) is SDO
|
|
# Pin J2-9 (AD2) is SDI
|
|
# Pin J2-10 (AD3) is RESET
|
|
# Pin J2-6 is GND
|
|
# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get
|
|
# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant.
|
|
|
|
programmer parent "ft232h"
|
|
id = "um232h";
|
|
desc = "UM232H module from FTDI";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# c232hm
|
|
#------------------------------------------------------------
|
|
|
|
# Orange (Pin 2) is SCK
|
|
# Yellow (Pin 3) is SDO
|
|
# Green (Pin 4) is SDI
|
|
# Brown (Pin 5) is RESET
|
|
# Black (Pin 10) is GND
|
|
# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get
|
|
# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant.
|
|
|
|
programmer parent "ft232h"
|
|
id = "c232hm";
|
|
desc = "C232HM cable from FTDI";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# o-link
|
|
#------------------------------------------------------------
|
|
|
|
# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1".
|
|
# You can find it as "OpenJTAG ARM JTAG USB" in the internet. Note there are also
|
|
# several projects called Open JTAG, which are completely different. Some other
|
|
# sources call it O-Link or just have a look at ebay ... It is basically the same
|
|
# entry as jtagkey with different usb ids. See www.100ask.net
|
|
|
|
programmer parent "jtagkey"
|
|
id = "o-link";
|
|
desc = "O-Link, OpenJTAG ARM JTAG USB";
|
|
usbvid = 0x1457;
|
|
usbpid = 0x5118;
|
|
usbvendor = "www.100ask.net";
|
|
usbproduct = "USB<=>JTAG&RS232";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# openmoko
|
|
#------------------------------------------------------------
|
|
|
|
# http://wiki.openmoko.org/wiki/Debug_Board_v3
|
|
|
|
programmer
|
|
id = "openmoko";
|
|
desc = "Openmoko debug board (v3)";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
usbvid = 0x1457;
|
|
usbpid = 0x5118;
|
|
usbdev = "A";
|
|
reset = 3; # TMS 7
|
|
sck = 0; # TCK 9
|
|
sdo = 1; # TDI 5
|
|
sdi = 2; # TDO 13
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# lm3s811
|
|
#------------------------------------------------------------
|
|
|
|
# Only Rev. A boards.
|
|
# Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf
|
|
|
|
programmer
|
|
id = "lm3s811";
|
|
desc = "Luminary Micro LM3S811 Eval Board (Rev. A)";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0xbcd9;
|
|
usbdev = "A";
|
|
usbvendor = "LMI";
|
|
usbproduct = "LM3S811 Evaluation Board";
|
|
# Enable correct buffers
|
|
buff = 7;
|
|
# ISP-signals - lower ACBUS-Nibble (default)
|
|
reset = 3;
|
|
sck = 0;
|
|
sdo = 1;
|
|
sdi = 2;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# tumpa
|
|
#------------------------------------------------------------
|
|
|
|
# submitted as bug #46020
|
|
|
|
programmer
|
|
id = "tumpa";
|
|
desc = "TIAO USB Multi-Protocol Adapter";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0x8a98;
|
|
usbdev = "A";
|
|
usbvendor = "TIAO";
|
|
reset = 3; # TMS 7
|
|
sck = 0; # TCK 9
|
|
sdo = 1; # TDI 5
|
|
sdi = 2; # TDO 13
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ktlink
|
|
#------------------------------------------------------------
|
|
|
|
# Kristech KT-LINK FT2232H interface with IO switching and voltage buffers.
|
|
# Created on 20220410 by CeDeROM Tomasz CEDRO (www.cederom.io).
|
|
# Interface DataSheet: https://kristech.pl/files/KT-LINK-UM-ENG.pdf
|
|
#
|
|
# AVRDUDE FT2232H PIN NUMBER DECODE:
|
|
# | 0 | 1 | .. | 7 | 8 | 9 | .. | 15 |
|
|
# | ADBUS0 | ADBUS1 | .. | ADBUS7 | ACBUS0 | ACBUS1 | .. | ACBUS7 |
|
|
#
|
|
# KT-LINK JTAG CONN:
|
|
# 1=Vsense(->EXT13), 19=5V(EXT1->EXT3), 20=GND, 3=TPIRST, 9=TPICLK, 7=TPIDATA.
|
|
#
|
|
# INTERNALS CONFIGURATION ("~" MEANS ACTIVE LOW):
|
|
# ~TRST_EN=10(ACBUS2), ~CLK_EN=14(ACBUS6), ~SDO_EN=13(ACBUS5),
|
|
# TMS_SEL=5(ADBUS5), ~TMS_EN=12(ACBUS4), LED=~15(ACBUS7).
|
|
#
|
|
# CONNECTION NOTES:
|
|
# * Connect EXT connector pin 1 with 3 to get 5V on JTAG connector pin 19.
|
|
# * Connect JTAG connector pin 1 to 5V (i.e. EXT pin 13 or JTAG pin 19).
|
|
# * For TPI connection use resistors: TDO --[470R]-- TPIDATA --[470R]-- TDI.
|
|
# * Powering target from JTAG pin 19 allows KT-LINK current measurement.
|
|
|
|
programmer
|
|
id = "ktlink";
|
|
desc = "KT-LINK FT2232H interface with IO switching and voltage buffers";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0xbbe2;
|
|
usbdev = "A";
|
|
buff = 5, ~10, ~13, ~14;
|
|
reset = 8;
|
|
sck = 0;
|
|
sdo = 1;
|
|
sdi = 2;
|
|
rdyled = ~15;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# digilent-hs2
|
|
#------------------------------------------------------------
|
|
|
|
# Digilent JTAG HS2 programmer. FT232H-based dongle with buffers.
|
|
# https://digilent.com/reference/_media/reference/programmers/jtag-hs2/jtag-hs2_rm.pdf
|
|
|
|
programmer
|
|
id = "digilent-hs2";
|
|
desc = "Digilent JTAG HS2 (MPSSE)";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0x6014;
|
|
usbdev = "A";
|
|
buff = 5, 6, 7;
|
|
reset = 3;
|
|
sck = 0;
|
|
sdo = 1;
|
|
sdi = 2;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# flyswatter2
|
|
#------------------------------------------------------------
|
|
|
|
# FT2232H based JTAG programmer. Requires a buff pin to be set.
|
|
# https://www.tincantools.com/flyswatter2
|
|
|
|
programmer
|
|
id = "flyswatter2";
|
|
desc = "TinCan Tools Flyswatter 2";
|
|
type = "avrftdi";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x0403;
|
|
usbpid = 0x6010;
|
|
usbdev = "A";
|
|
usbvendor = "TinCanTools";
|
|
usbproduct = "Flyswatter2";
|
|
buff = ~6;
|
|
reset = 3;
|
|
sck = 0;
|
|
sdo = 1;
|
|
sdi = 2;
|
|
rdyled = ~11;
|
|
pgmled = ~12;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# serialupdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "serialupdi";
|
|
desc = "SerialUPDI";
|
|
type = "serialupdi";
|
|
prog_modes = PM_UPDI;
|
|
connection_type = serial;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avrisp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avrisp";
|
|
desc = "Atmel AVR ISP";
|
|
type = "stk500";
|
|
prog_modes = PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avrispv2
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avrispv2";
|
|
desc = "Atmel AVR ISP v2";
|
|
type = "stk500v2";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avrispmkII
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avrispmkII", "avrisp2";
|
|
desc = "Atmel AVR ISP mkII";
|
|
type = "stk500v2";
|
|
prog_modes = PM_TPI | PM_ISP | PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# buspirate
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "buspirate";
|
|
desc = "The Bus Pirate";
|
|
type = "buspirate";
|
|
prog_modes = PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# buspirate_bb
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "buspirate_bb";
|
|
desc = "The Bus Pirate (bitbang interface, supports TPI)";
|
|
type = "buspirate_bb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
# pins are bits in bitbang byte (numbers are 87654321)
|
|
# 1|POWER|PULLUP|AUX|SDO|CLK|SDI|CS
|
|
reset = 1;
|
|
sck = 3;
|
|
sdo = 4;
|
|
sdi = 2;
|
|
# vcc = 7; # Internally set independent of this setting
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk500
|
|
#------------------------------------------------------------
|
|
|
|
# This is supposed to be the "default" STK500 entry.
|
|
# Attempts to select the correct firmware version
|
|
# by probing for it. Better use one of the entries
|
|
# below instead.
|
|
|
|
programmer
|
|
id = "stk500";
|
|
desc = "Atmel STK500";
|
|
type = "stk500generic";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk500v1
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk500v1";
|
|
desc = "Atmel STK500 version 1.x firmware";
|
|
type = "stk500";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduino_as_isp
|
|
#------------------------------------------------------------
|
|
|
|
# Not to be confused with arduinoISP, this is the same as `-c stk500v1`
|
|
# but treats EEPROM r/w correctly for arduino_as_isp programmers
|
|
|
|
programmer
|
|
id = "arduino_as_isp";
|
|
desc = "Arduino board as programmer using arduino as ISP firmware";
|
|
type = "stk500";
|
|
prog_modes = PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# mib510
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "mib510";
|
|
desc = "Crossbow MIB510 programming board";
|
|
type = "stk500";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk500v2
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk500v2", "scratchmonkey";
|
|
desc = "Atmel STK500 version 2.x firmware";
|
|
type = "stk500v2";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk500pp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk500pp", "scratchmonkey_pp";
|
|
desc = "Atmel STK500 v2 in parallel programming mode";
|
|
type = "stk500pp";
|
|
prog_modes = PM_HVPP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk500hvsp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk500hvsp", "scratchmonkey_hvsp";
|
|
desc = "Atmel STK500 v2 in high-voltage serial programming mode";
|
|
type = "stk500hvsp";
|
|
prog_modes = PM_HVSP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk600
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk600";
|
|
desc = "Atmel STK600";
|
|
type = "stk600";
|
|
prog_modes = PM_TPI | PM_ISP | PM_PDI;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk600pp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk600pp";
|
|
desc = "Atmel STK600 in parallel programming mode";
|
|
type = "stk600pp";
|
|
prog_modes = PM_HVPP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# stk600hvsp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "stk600hvsp";
|
|
desc = "Atmel STK600 in high-voltage serial programming mode";
|
|
type = "stk600hvsp";
|
|
prog_modes = PM_HVSP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ | HAS_FOSC_ADJ | HAS_VAREF_ADJ;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avr910
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avr910";
|
|
desc = "Atmel Low Cost Serial Programmer";
|
|
type = "avr910";
|
|
prog_modes = PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ft245r
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "ft245r";
|
|
desc = "FT245R based generic programmer";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 4; # D4
|
|
sck = 0; # D0
|
|
sdo = 2; # D2
|
|
sdi = 1; # D1
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ft232r
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "ft232r";
|
|
desc = "FT232R based generic programmer";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 4; # DTR
|
|
sck = 0; # TxD
|
|
sdo = 2; # RTS
|
|
sdi = 1; # RxD
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# bwmega
|
|
#------------------------------------------------------------
|
|
|
|
# see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega
|
|
|
|
programmer
|
|
id = "bwmega";
|
|
desc = "BitWizard ftdi_atmega builtin programmer";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 7; # RI
|
|
sck = 6; # DCD
|
|
sdo = 3; # CTS
|
|
sdi = 5; # DSR
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduino-ft232r
|
|
#------------------------------------------------------------
|
|
|
|
# This programmer helps programming the Arduino Diecimila, NG and
|
|
# Duemilanove (but not the Uno) without bootloader or external
|
|
# programmer using the on-board FT232RL chip. Instructions here:
|
|
# https://make.kosakalab.com/arduino/bootloader/index_en.html
|
|
# Note that the -c diecimila avrdude.conf entry mentioned in above post
|
|
# is the same as the -c arduino-ft232r entry here.
|
|
|
|
programmer
|
|
id = "arduino-ft232r", "diecimila";
|
|
desc = "Arduino: FT232R connected to ISP";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 7; # RI X3(4)
|
|
sck = 5; # DSR X3(2)
|
|
sdo = 6; # DCD X3(3)
|
|
sdi = 3; # CTS X3(1)
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# tc2030
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "tc2030";
|
|
desc = "Tag-Connect TC2030";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
# FOR TPI devices:
|
|
reset = 3; # CTS = D3 (wire to ~RESET)
|
|
sck = 2; # RTS = D2 (wire to SCK)
|
|
sdo = 0; # TxD = D0 (wire to TPIDATA via 1k resistor)
|
|
sdi = 1; # RxD = D1 (wire to TPIDATA directly)
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# uncompatino
|
|
#------------------------------------------------------------
|
|
|
|
# There is a ATmega328P kit PCB called "uncompatino".
|
|
# This board allows ISP via its on-board FT232R.
|
|
# This is designed like Arduino Duemilanove but has no standard ICPS header.
|
|
# Its 4 pairs of pins are shorted to enable ftdi_syncbb.
|
|
# http://akizukidenshi.com/catalog/g/gP-07487/
|
|
# http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf
|
|
|
|
programmer
|
|
id = "uncompatino";
|
|
desc = "uncompatino with all pairs of pins shorted";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 7; # ri
|
|
sck = 5; # dsr
|
|
sdo = 6; # dcd
|
|
sdi = 3; # cts
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ttl232r
|
|
#------------------------------------------------------------
|
|
|
|
# FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP
|
|
# - https://ftdichip.com/product-category/products/cables/usb-ttl-serial-cable-series/
|
|
# - http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf
|
|
#
|
|
# For ICSP pinout see, e.g., http://ww1.microchip.com/downloads/en/DeviceDoc/doc2562.pdf
|
|
# (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...)
|
|
# TTL-232R GND 1 Black -> ICPS GND (pin 6)
|
|
# TTL-232R CTS 2 Brown -> ICPS SDO (pin 4)
|
|
# TTL-232R VCC 3 Red -> ICPS VCC (pin 2)
|
|
# TTL-232R TXD 4 Orange -> ICPS RESET (pin 5)
|
|
# TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3)
|
|
# TTL-232R RTS 6 Green -> ICPS SDI (pin 1)
|
|
#
|
|
# Except for VCC and GND, you can connect arbitrary pairs as long as the
|
|
# following table is adjusted.
|
|
|
|
programmer
|
|
id = "ttl232r";
|
|
desc = "FTDI TTL232R-5V with ICSP adapter";
|
|
type = "ftdi_syncbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
reset = 0; # txd
|
|
sck = 1; # rxd
|
|
sdo = 3; # cts
|
|
sdi = 2; # rts
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# usbasp
|
|
#------------------------------------------------------------
|
|
|
|
# From http://www.fischl.de/usbasp
|
|
# USBasp is a USB in-circuit programmer for Atmel AVR controllers. It
|
|
# simply consists of an ATmega88 or an ATmega8 and a couple of passive
|
|
# components. The programmer uses a firmware-only USB driver, no
|
|
# special USB controller is needed.
|
|
#
|
|
# Firmware, schematics and drivers are available under above URL, too.
|
|
#
|
|
# Alternative firmware for the external programmer:
|
|
#
|
|
# - https://github.com/mariusgreuel/USBasp
|
|
# Windows OS descriptor to load WinUSB driver automatically
|
|
#
|
|
# - https://github.com/nerdralph/usbasp
|
|
# WCID compliant, meaning it should work on Windows without any
|
|
# driver or .inf install; default SCK clock of 1.5 MHz and automatic
|
|
# SCK slowing if target does not respond; PORTD is left as input, so
|
|
# this firmware also works with USBISP modules, eg,
|
|
# https://www.sciencetronics.com/greenphotons/?p=938
|
|
#
|
|
# - https://github.com/dioannidis/usbasp
|
|
# As above plus HID UART support, setting unique serial number and
|
|
# AT89S51/AT89S52 support
|
|
|
|
programmer
|
|
id = "usbasp";
|
|
desc = "USBasp ISP and TPI programmer";
|
|
type = "usbasp";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x16c0; # VOTI
|
|
usbpid = 0x05dc; # Obdev's free shared PID
|
|
usbvendor = "www.fischl.de";
|
|
usbproduct = "USBasp";
|
|
|
|
# Old usbasp from fischl.de:
|
|
# usbvid = 0x03EB; # ATMEL
|
|
# usbpid = 0xC7B4; # (unoffical) USBasp
|
|
# usbvendor = "www.fischl.de";
|
|
# usbproduct = "USBasp";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# nibobee
|
|
#------------------------------------------------------------
|
|
|
|
# http://www.nicai-systems.com/en/nibobee
|
|
|
|
programmer
|
|
id = "nibobee";
|
|
desc = "NIBObee";
|
|
type = "usbasp";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x16c0; # VOTI
|
|
usbpid = 0x092f; # NIBObee PID
|
|
usbvendor = "www.nicai-systems.com";
|
|
usbproduct = "NIBObee";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# usbasp-clone
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "usbasp-clone";
|
|
desc = "Any usbasp clone with correct VID/PID";
|
|
type = "usbasp";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x16c0; # VOTI
|
|
usbpid = 0x05dc; # Obdev's free shared PID
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# usbtiny
|
|
#------------------------------------------------------------
|
|
|
|
# https://learn.adafruit.com/usbtinyisp
|
|
#
|
|
# The ISP USBtiny programmer can also be used for TPI programming.
|
|
# In that case, a resistor of 1 kOhm is needed between SDI and SDO
|
|
# pins of the connector, and SDI (pin 1 of the 6-pin connector)
|
|
# connects to TPIDATA.
|
|
|
|
programmer
|
|
id = "usbtiny";
|
|
desc = "USBtiny simple USB programmer";
|
|
type = "usbtiny";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x1781;
|
|
usbpid = 0x0c9f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduino_gemma
|
|
#------------------------------------------------------------
|
|
|
|
# https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/gemma
|
|
|
|
programmer
|
|
id = "arduino_gemma";
|
|
desc = "Arduino Gemma bootloader disguised as USBtiny";
|
|
type = "usbtiny";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
usbvid = 0x2341;
|
|
usbpid = 0x0c9f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# adafruit_gemma
|
|
#------------------------------------------------------------
|
|
|
|
# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader
|
|
|
|
programmer
|
|
id = "adafruit_gemma";
|
|
desc = "Adafruit Trinket Gemma bootloader disguised as USBtiny";
|
|
type = "usbtiny";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
usbvid = 0x1781;
|
|
usbpid = 0x0c9f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduinoisp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "arduinoisp";
|
|
desc = "Arduino ISP Programmer";
|
|
type = "usbtiny";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x2341;
|
|
usbpid = 0x0049;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# arduinoisporg
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "arduinoisporg";
|
|
desc = "Arduino ISP Programmer";
|
|
type = "usbtiny";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x2a03;
|
|
usbpid = 0x0049;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ehajo-isp
|
|
#------------------------------------------------------------
|
|
|
|
# Commercial version of USBtiny using a separate VID/PID from
|
|
# http://www.eHaJo.de (closed from end of 2023)
|
|
|
|
programmer
|
|
id = "ehajo-isp";
|
|
desc = "AVR ISP programmer from eHaJo.de";
|
|
type = "usbtiny";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x16d0;
|
|
usbpid = 0x0ba5;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# iseavrprog
|
|
#------------------------------------------------------------
|
|
|
|
# Commercial version of USBtiny using a separate VID/PID from
|
|
# https://iascaled.com
|
|
#
|
|
# https://github.com/IowaScaledEngineering/ckt-avrprogrammer
|
|
|
|
programmer
|
|
id = "iseavrprog";
|
|
desc = "AVR ISP programmer from iascaled.com";
|
|
type = "usbtiny";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x1209;
|
|
usbpid = 0x6570;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# micronucleus
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "micronucleus";
|
|
desc = "Micronucleus for bootloader";
|
|
type = "micronucleus";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
usbvid = 0x16d0;
|
|
usbpid = 0x0753;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# teensy
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "teensy";
|
|
desc = "Teensy for bootloader";
|
|
type = "teensy";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
usbvid = 0x16c0;
|
|
usbpid = 0x0478;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ch341a
|
|
#------------------------------------------------------------
|
|
|
|
# Allows programming of AVR parts with F_CPU of min 6.8 MHz with the
|
|
# CH341A chip http://www.wch-ic.com/downloads/CH341DS1_PDF.html
|
|
#
|
|
# See also:
|
|
# https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html
|
|
#
|
|
# Connection scheme:
|
|
# CH341A chip -- AVR ISP Connector
|
|
# ~CTS/D0/CS0 -- RESET (can be D1 or D2, see reset setting below)
|
|
# ~DCD/D3/DCK -- SCK
|
|
# ~DTR/D5/DOUT -- SDO
|
|
# ~SLP/D7/DIN -- SDI
|
|
# GND -- GND
|
|
# 5V -- Vcc/Vin (or disconnect if separately powered)
|
|
|
|
programmer
|
|
id = "ch341a";
|
|
desc = "ch341a programmer (AVR must have minimum F_CPU of 6.8 MHz)";
|
|
type = "ch341a";
|
|
prog_modes = PM_ISP;
|
|
connection_type = usb;
|
|
usbvid = 0x1a86;
|
|
usbpid = 0x5512;
|
|
usbvendor = "wch.cn";
|
|
usbproduct = "CH341A";
|
|
reset = 0; # Can be 0, 1 or 2 for CS0, CS1 or CS2
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# butterfly
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "butterfly";
|
|
desc = "Atmel for bootloader (Butterfly Development Board)";
|
|
type = "butterfly";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avr109
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avr109";
|
|
desc = "Atmel for bootloader using AppNote AVR109";
|
|
type = "butterfly";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# avr911
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "avr911";
|
|
desc = "Atmel for bootloader using AppNote AVR911 AVROSP";
|
|
type = "butterfly";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# butterfly_mk and mkbutterfly
|
|
#------------------------------------------------------------
|
|
|
|
# http://forum.mikrokopter.de
|
|
|
|
programmer
|
|
id = "butterfly_mk", "mkbutterfly";
|
|
desc = "Mikrokopter.de Butterfly for bootloader";
|
|
type = "butterfly_mk";
|
|
prog_modes = PM_SPM;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtagmkI
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtagmkI", "jtag1";
|
|
desc = "Atmel JTAG ICE (mkI)";
|
|
type = "jtagmki";
|
|
prog_modes = PM_JTAGmkI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = serial;
|
|
baudrate = 115200; # default is 115200
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag1slow
|
|
#------------------------------------------------------------
|
|
|
|
programmer parent "jtag1"
|
|
id = "jtag1slow";
|
|
baudrate = 19200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtagmkII
|
|
#------------------------------------------------------------
|
|
|
|
# The JTAG ICE mkII has both, serial and USB connectivity. As it is
|
|
# mostly used through USB these days (AVR Studio 5 only supporting it
|
|
# that way), we make connection_type = usb the default. Users are
|
|
# still free to use a serial port with the -P option.
|
|
|
|
programmer
|
|
id = "jtagmkII";
|
|
desc = "Atmel JTAG ICE mkII";
|
|
type = "jtagmkii";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 19200; # default is 19200
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2slow
|
|
#------------------------------------------------------------
|
|
|
|
programmer parent "jtagmkII"
|
|
id = "jtag2slow";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2fast
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG ICE mkII @ 115200 Bd (and alias jtag2 the fast version)
|
|
|
|
programmer parent "jtag2slow"
|
|
id = "jtag2fast", "jtag2";
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2isp
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG ICE mkII in ISP mode
|
|
|
|
programmer
|
|
id = "jtag2isp";
|
|
desc = "Atmel JTAG ICE mkII in ISP mode";
|
|
type = "jtagmkii_isp";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2dw
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG ICE mkII in debugWire mode
|
|
|
|
programmer
|
|
id = "jtag2dw";
|
|
desc = "Atmel JTAG ICE mkII in debugWire mode";
|
|
type = "jtagmkii_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtagmkII_avr32
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG ICE mkII in AVR32 mode
|
|
|
|
programmer
|
|
id = "jtagmkII_avr32", "jtag2avr32";
|
|
desc = "Atmel JTAG ICE mkII in AVR32 mode";
|
|
type = "jtagmkii_avr32";
|
|
prog_modes = PM_aWire;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2pdi
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG ICE mkII in PDI mode
|
|
|
|
programmer
|
|
id = "jtag2pdi";
|
|
desc = "Atmel JTAG ICE mkII in PDI mode";
|
|
type = "jtagmkii_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_jtag
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in JTAG mode
|
|
|
|
programmer
|
|
id = "dragon_jtag";
|
|
desc = "Atmel AVR Dragon in JTAG mode";
|
|
type = "dragon_jtag";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_isp
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in ISP mode
|
|
|
|
programmer
|
|
id = "dragon_isp";
|
|
desc = "Atmel AVR Dragon in ISP mode";
|
|
type = "dragon_isp";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_pp
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in PP mode
|
|
|
|
programmer
|
|
id = "dragon_pp";
|
|
desc = "Atmel AVR Dragon in PP mode";
|
|
type = "dragon_pp";
|
|
prog_modes = PM_HVPP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_hvsp
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in HVSP mode
|
|
|
|
programmer
|
|
id = "dragon_hvsp";
|
|
desc = "Atmel AVR Dragon in HVSP mode";
|
|
type = "dragon_hvsp";
|
|
prog_modes = PM_HVSP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_dw
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in debugWire mode
|
|
|
|
programmer
|
|
id = "dragon_dw";
|
|
desc = "Atmel AVR Dragon in debugWire mode";
|
|
type = "dragon_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dragon_pdi
|
|
#------------------------------------------------------------
|
|
|
|
# AVR Dragon in PDI mode
|
|
|
|
programmer
|
|
id = "dragon_pdi";
|
|
desc = "Atmel AVR Dragon in PDI mode";
|
|
type = "dragon_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
baudrate = 115200;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag3
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtag3";
|
|
desc = "Atmel AVR JTAGICE3 in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2110, 0x2140;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag3pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtag3pdi";
|
|
desc = "Atmel AVR JTAGICE3 in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2110, 0x2140;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag3updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtag3updi";
|
|
desc = "Atmel AVR JTAGICE3 in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2110, 0x2140;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag3dw
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtag3dw";
|
|
desc = "Atmel AVR JTAGICE3 in debugWIRE mode";
|
|
type = "jtagice3_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2110, 0x2140;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag3isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "jtag3isp";
|
|
desc = "Atmel AVR JTAGICE3 in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2110, 0x2140;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedpro
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedpro";
|
|
desc = "Atmel AVR XplainedPro in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
connection_type = usb;
|
|
usbpid = 0x2111;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedpro_pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedpro_pdi";
|
|
desc = "Atmel AVR XplainedPro in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
connection_type = usb;
|
|
usbpid = 0x2111;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedpro_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedpro_updi";
|
|
desc = "Atmel AVR XplainedPro in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
connection_type = usb;
|
|
usbpid = 0x2111;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedmini / xplainedmini_isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedmini", "xplainedmini_isp";
|
|
desc = "Atmel AVR XplainedMini in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_SUFFER | HAS_VTARG_SWITCH;
|
|
connection_type = usb;
|
|
usbpid = 0x2145;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedmini_dw
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedmini_dw";
|
|
desc = "Atmel AVR XplainedMini in debugWIRE mode";
|
|
type = "jtagice3_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_SUFFER | HAS_VTARG_SWITCH;
|
|
connection_type = usb;
|
|
usbpid = 0x2145;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedmini_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedmini_updi";
|
|
desc = "Atmel AVR XplainedMini in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_SUFFER | HAS_VTARG_SWITCH;
|
|
connection_type = usb;
|
|
usbpid = 0x2145;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# xplainedmini_tpi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "xplainedmini_tpi";
|
|
desc = "Atmel AVR XplainedMini in TPI mode";
|
|
type = "jtagice3_tpi";
|
|
prog_modes = PM_TPI;
|
|
connection_type = usb;
|
|
usbpid = 0x2145;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice / atmelice_jtag
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice", "atmelice_jtag";
|
|
desc = "Atmel-ICE (ARM/AVR) in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice_pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice_pdi";
|
|
desc = "Atmel-ICE (ARM/AVR) in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice_updi";
|
|
desc = "Atmel-ICE (ARM/AVR) in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice_dw
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice_dw";
|
|
desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode";
|
|
type = "jtagice3_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice_isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice_isp";
|
|
desc = "Atmel-ICE (ARM/AVR) in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# atmelice_tpi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "atmelice_tpi";
|
|
desc = "Atmel-ICE (ARM/AVR) in TPI mode";
|
|
type = "jtagice3_tpi";
|
|
prog_modes = PM_TPI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2141;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger / powerdebugger_jtag
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger", "powerdebugger_jtag";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG | PM_AVR32JTAG;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger_pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger_pdi";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger_updi";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
hvupdi_support = 0, 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger_dw
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger_dw";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in debugWire mode";
|
|
type = "jtagice3_dw";
|
|
prog_modes = PM_debugWIRE;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger_isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger_isp";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# powerdebugger_tpi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "powerdebugger_tpi";
|
|
desc = "Atmel PowerDebugger (ARM/AVR) in TPI mode";
|
|
type = "jtagice3_tpi";
|
|
prog_modes = PM_TPI;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2144;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit4 / pickit4_jtag
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit4", "pickit4_jtag";
|
|
desc = "MPLAB(R) PICkit 4 in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2177, 0x2178, 0x2179;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit4_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit4_updi";
|
|
desc = "MPLAB(R) PICkit 4 in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2177, 0x2178, 0x2179;
|
|
hvupdi_support = 0, 1, 2;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit4_pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit4_pdi";
|
|
desc = "MPLAB(R) PICkit 4 in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2177, 0x2178, 0x2179;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit4_isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit4_isp";
|
|
desc = "MPLAB(R) PICkit 4 in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2177, 0x2178, 0x2179;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit4_tpi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit4_tpi";
|
|
desc = "MPLAB(R) PICkit 4 in TPI mode";
|
|
type = "jtagice3_tpi";
|
|
prog_modes = PM_TPI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2177, 0x2178, 0x2179;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# snap /snap_jtag
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "snap", "snap_jtag";
|
|
desc = "MPLAB(R) Snap in JTAG mode";
|
|
type = "jtagice3";
|
|
prog_modes = PM_JTAG | PM_XMEGAJTAG;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2180, 0x217f, 0x2181;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# snap_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "snap_updi";
|
|
desc = "MPLAB(R) SNAP in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2180, 0x217f, 0x2181;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# snap_pdi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "snap_pdi";
|
|
desc = "MPLAB(R) SNAP in PDI mode";
|
|
type = "jtagice3_pdi";
|
|
prog_modes = PM_PDI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2180, 0x217f, 0x2181;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# snap_isp
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "snap_isp";
|
|
desc = "MPLAB(R) SNAP in ISP mode";
|
|
type = "jtagice3_isp";
|
|
prog_modes = PM_ISP;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2180, 0x217f, 0x2181;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# snap_tpi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "snap_tpi";
|
|
desc = "MPLAB(R) SNAP in TPI mode";
|
|
type = "jtagice3_tpi";
|
|
prog_modes = PM_TPI;
|
|
extra_features = HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2180, 0x217f, 0x2181;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pkobn_updi
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pkobn_updi";
|
|
desc = "Curiosity nano (nEDBG) in UPDI mode";
|
|
type = "jtagice3_updi";
|
|
prog_modes = PM_UPDI;
|
|
extra_features = HAS_VTARG_ADJ | HAS_VTARG_READ;
|
|
connection_type = usb;
|
|
usbpid = 0x2175;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pavr
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pavr";
|
|
desc = "Jason Kyle's pAVR Serial Programmer";
|
|
type = "avr910";
|
|
prog_modes = PM_ISP;
|
|
connection_type = serial;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# pickit2
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "pickit2";
|
|
desc = "MicroChip's PICkit2 Programmer";
|
|
type = "pickit2";
|
|
prog_modes = PM_ISP;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# flip1
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "flip1";
|
|
desc = "FLIP for bootloader using USB DFU protocol version 1 (doc7618)";
|
|
type = "flip1";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# flip2
|
|
#------------------------------------------------------------
|
|
|
|
programmer
|
|
id = "flip2";
|
|
desc = "FLIP for bootloader using USB DFU protocol version 2 (AVR4023)";
|
|
type = "flip2";
|
|
prog_modes = PM_SPM;
|
|
connection_type = usb;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ponyser
|
|
#------------------------------------------------------------
|
|
|
|
# some ultra cheap programmers use bitbanging on the serialport
|
|
#
|
|
# PC - DB9 - Pins for RS232:
|
|
#
|
|
# GND 5 -- |O
|
|
# | O| <- 9 RI
|
|
# DTR 4 <- |O |
|
|
# | O| <- 8 CTS
|
|
# TXD 3 <- |O |
|
|
# | O| -> 7 RTS
|
|
# RXD 2 -> |O |
|
|
# | O| <- 6 DSR
|
|
# DCD 1 -> |O
|
|
#
|
|
# Using RXD is currently not supported.
|
|
# Using RI is not supported under Win32 but is supported under Posix.
|
|
|
|
# serial ponyprog design (dasa2 in uisp)
|
|
# reset=!txd sck=rts sdo=dtr sdi=cts
|
|
|
|
programmer
|
|
id = "ponyser";
|
|
desc = "design ponyprog serial, reset=!txd sck=rts sdo=dtr sdi=cts";
|
|
type = "serbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
reset = ~3;
|
|
sck = 7;
|
|
sdo = 4;
|
|
sdi = 8;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# siprog
|
|
#------------------------------------------------------------
|
|
|
|
# Serial port adapter http://www.lancos.com/siprogsch.html
|
|
# Same as above, different name
|
|
|
|
programmer parent "ponyser"
|
|
id = "siprog";
|
|
desc = "Lancos SI-Prog (same as ponyser)";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dasa
|
|
#------------------------------------------------------------
|
|
|
|
# unknown (dasa in uisp)
|
|
# reset=rts sck=dtr sdo=txd sdi=cts
|
|
|
|
programmer
|
|
id = "dasa";
|
|
desc = "serial port banging, reset=rts sck=dtr sdo=txd sdi=cts";
|
|
type = "serbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
reset = 7;
|
|
sck = 4;
|
|
sdo = 3;
|
|
sdi = 8;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# dasa3
|
|
#------------------------------------------------------------
|
|
|
|
# unknown (dasa3 in uisp)
|
|
# reset=!dtr sck=rts sdo=txd sdi=cts
|
|
|
|
programmer
|
|
id = "dasa3";
|
|
desc = "serial port banging, reset=!dtr sck=rts sdo=txd sdi=cts";
|
|
type = "serbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
reset = ~4;
|
|
sck = 7;
|
|
sdo = 3;
|
|
sdi = 8;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# C2N232i
|
|
#------------------------------------------------------------
|
|
|
|
# C2N232i (jumper configuration "auto")
|
|
# reset=dtr sck=!rts sdo=!txd sdi=!cts
|
|
|
|
programmer
|
|
id = "c2n232i";
|
|
desc = "serial port banging, reset=dtr sck=!rts sdo=!txd sdi=!cts";
|
|
type = "serbb";
|
|
prog_modes = PM_TPI | PM_ISP;
|
|
connection_type = serial;
|
|
reset = 4;
|
|
sck = ~7;
|
|
sdo = ~3;
|
|
sdi = ~8;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# jtag2updi
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG2UPDI
|
|
# https://github.com/ElTangas/jtag2updi
|
|
|
|
programmer
|
|
id = "jtag2updi";
|
|
desc = "JTAGv2 to UPDI bridge";
|
|
type = "jtagmkii_updi";
|
|
prog_modes = PM_UPDI;
|
|
connection_type = serial;
|
|
baudrate = 115200;
|
|
hvupdi_support = 1;
|
|
;
|
|
|
|
#
|
|
# PART DEFINITIONS
|
|
#
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny11
|
|
#------------------------------------------------------------
|
|
|
|
# This is an HVSP-only device.
|
|
|
|
part
|
|
desc = "ATtiny11";
|
|
id = "t11";
|
|
variants =
|
|
"ATtiny11: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny11-6PC: DIP8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11-6PI: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11-6PU: DIP8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11-6SC: SOIC8, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11-6SI: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11-6SU: SOIC8, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny11L-2PC: DIP8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny11L-2PI: DIP8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny11L-2SC: SOIC8, Fmax=2 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny11L-2SI: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny11L-2SU: SOIC8, Fmax=2 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_HVSP;
|
|
mcuid = 8;
|
|
n_interrupts = 5;
|
|
stk500_devcode = 0x11;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x90 0x04;
|
|
serial = no;
|
|
timeout = 200;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00,
|
|
0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
|
|
0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
delay = 5;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
delay = 3;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny12
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny12";
|
|
id = "t12";
|
|
variants =
|
|
"ATtiny12: N/A, Fmax=8 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny12-8PU: PDIP8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny12-8SU: SOIC8, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATtiny12L-4PU: PDIP8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny12L-4SU: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny12L-4SUR: SOIC8, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny12V-1SU: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny12V-1SUR: SOIC8, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_ISP | PM_HVSP;
|
|
mcuid = 9;
|
|
n_interrupts = 6;
|
|
stk500_devcode = 0x12;
|
|
avr910_devcode = 0x55;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x90 0x05;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00,
|
|
0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
|
|
0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 20000;
|
|
readback = 0xff 0x00;
|
|
mode = 0x04;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0x52;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny13
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny13";
|
|
id = "t13";
|
|
variants =
|
|
"ATtiny13: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny13-20MMU: MLF10, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20MMUR: VDFN10, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SQ: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SQR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SSQ: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SSQR: SOIC8, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny13V-10MMU: MLF10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10MMUR: VDFN10, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10PQ: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 10;
|
|
n_interrupts = 10;
|
|
stk500_devcode = 0x14;
|
|
chip_erase_delay = 4000;
|
|
signature = 0x1e 0x90 0x07;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
flash_instr = 0xb4, 0x0e, 0x1e;
|
|
eeprom_instr =
|
|
0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x0e, 0xb4, 0x0e, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x2e;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 0;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xxaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xxaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 1024;
|
|
page_size = 32;
|
|
num_pages = 32;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.000a--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x6a;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x1f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 2;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny13A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t13"
|
|
desc = "ATtiny13A";
|
|
id = "t13a";
|
|
variants =
|
|
"ATtiny13A-MMF: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-MMFR: VDFN10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-MMU: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-MMUR: MLF10, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-MU: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-PU: PDIP8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SN: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SS7: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SS7R: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SSHR: SOIC8N, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SSUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SU: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny13A-SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 11;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny15
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny15";
|
|
id = "t15";
|
|
variants =
|
|
"ATtiny15: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1PC: DIP8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1PI: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1PU: DIP8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1SC: SOIC8, Fmax=1.6 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1SI: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny15L-1SU: SOIC8, Fmax=1.6 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_ISP | PM_HVSP;
|
|
mcuid = 12;
|
|
n_interrupts = 9;
|
|
stk500_devcode = 0x13;
|
|
avr910_devcode = 0x56;
|
|
chip_erase_delay = 8200;
|
|
signature = 0x1e 0x90 0x06;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00,
|
|
0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
|
|
0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 16;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
hvspcmdexedelay = 5;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
min_write_delay = 8200;
|
|
max_write_delay = 8200;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
min_write_delay = 4100;
|
|
max_write_delay = 4100;
|
|
readback = 0xff 0x00;
|
|
mode = 0x04;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0x5c;
|
|
bitmask = 0xf3;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--xxxx.xxxx--xxxx.xxxx--oooo.xxoo";
|
|
write = "1010.1100--101x.xxxx--xxxx.xxxx--iiii.11ii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT89S51
|
|
#------------------------------------------------------------
|
|
|
|
# Nonstandard part
|
|
# - Tested with -c avrisp
|
|
# - USBASP programmers may require different firmware
|
|
|
|
part
|
|
desc = "AT89S51";
|
|
id = "89S51";
|
|
variants =
|
|
"AT89S51: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]",
|
|
"AT89S51-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"AT89S51-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"AT89S51-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]";
|
|
prog_modes = PM_ISP | PM_HVPP;
|
|
mcuid = 372;
|
|
stk500_devcode = 0xe0;
|
|
chip_erase_delay = 250000;
|
|
signature = 0x1e 0x51 0x06;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 4;
|
|
pollvalue = 0x69;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0xff;
|
|
mode = 0x02;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
read = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "0100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii";
|
|
# Nonstandard page mode is available but not implemented
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
read = "0010.0100--xxxx.xxxx--xxxx.xxxx--xxxo.ooxx";
|
|
# Nonstandard write: expect verification errors
|
|
# See datasheet Page 20, Note 1 https://ww1.microchip.com/downloads/en/DeviceDoc/doc2487.pdf
|
|
# Activate lock mode 0 through chip erase: avrdude -e
|
|
# Activate lock mode 1: avrdude -e -V -U lock:w:1:m
|
|
# Activate lock mode 2: avrdude -e -V -U lock:w:1:m -U lock:w:2:m
|
|
# Activate lock mode 3: avrdude -e -V -U lock:w:1:m -U lock:w:2:m -U lock:w:3:m
|
|
write = "1010.1100--1110.00ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0 0 1 0 1 0 0 0 x x x x x x a1 a0 x x x x x x x 0 o o o o o o o o";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT89S52
|
|
#------------------------------------------------------------
|
|
|
|
part parent "89S51"
|
|
desc = "AT89S52";
|
|
id = "89S52";
|
|
variants =
|
|
"AT89S52: N/A, Fmax=33 MHz, T=[N/A, N/A], Vcc=[4 V, 5.5 V]",
|
|
"AT89S52-24AU: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"AT89S52-24AUR: TQFP44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"AT89S52-24JU: PLCC44, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"AT89S52-24PU: PDIP40, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]";
|
|
mcuid = 373;
|
|
stk500_devcode = 0xe1;
|
|
signature = 0x1e 0x52 0x06;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S1200
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S1200";
|
|
id = "1200";
|
|
variants =
|
|
"AT90S1200-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-12PC: DIP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-12PI: DIP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-12SC: SOIC20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-12SI: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-12YC: SSOP20, Fmax=12 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-12YI: SSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S1200A-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-4YC: SSOP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S1200A-4YI: SSOP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 183;
|
|
n_interrupts = 4;
|
|
stk500_devcode = 0x33;
|
|
avr910_devcode = 0x13;
|
|
chip_erase_delay = 20000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x90 0x01;
|
|
is_at90s1200 = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 1;
|
|
pollvalue = 0xff;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x00 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xxaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x02;
|
|
delay = 15;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x21;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S4414
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S4414";
|
|
id = "4414";
|
|
variants =
|
|
"AT90S4414-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-4JC: LCC44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-4JI: LCC44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S4414-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4414-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4414-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4414-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4414-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4414-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 190;
|
|
n_interrupts = 13;
|
|
stk500_devcode = 0x50;
|
|
avr910_devcode = 0x28;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x92 0x01;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0x80 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0x7f 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x21;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S2313
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S2313";
|
|
id = "2313";
|
|
variants =
|
|
"AT90S2313-10PC: DIP20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2313-10PI: DIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2313-10SC: SOIC20, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2313-10SI: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2313-4PC: DIP20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S2313-4PI: DIP20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S2313-4SC: SOIC20, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"AT90S2313-4SI: SOIC20, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 186;
|
|
n_interrupts = 11;
|
|
stk500_devcode = 0x40;
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x91 0x01;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x80 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x7f 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x21;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
write = "1010.1100--111x.xiix--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S2333
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
##### WARNING: No XML file for device 'AT90S2333'! #####
|
|
desc = "AT90S2333";
|
|
id = "2333";
|
|
variants =
|
|
"AT90S2333-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2333-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2333-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2333-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 188;
|
|
n_interrupts = 14;
|
|
stk500_devcode = 0x42;
|
|
avr910_devcode = 0x34;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x91 0x05;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0x00 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
pwroff_after_write = yes;
|
|
read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxoo.oooo";
|
|
write = "1010.1100--101i.iiii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S2343 (also AT90S2323 and ATtiny22)
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S2343";
|
|
id = "2343";
|
|
variants =
|
|
"AT90S2343-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2343-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2343-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2343-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP;
|
|
mcuid = 189;
|
|
n_interrupts = 3;
|
|
stk500_devcode = 0x43;
|
|
avr910_devcode = 0x4c;
|
|
chip_erase_delay = 18000;
|
|
signature = 0x1e 0x91 0x03;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x00,
|
|
0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
|
|
0x78, 0x00, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayus = 50;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0x00 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.0000--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.0000--xaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 128;
|
|
read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xde;
|
|
bitmask = 0x21;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo";
|
|
write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
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 o1 o2 x x x x x x";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S2323
|
|
#------------------------------------------------------------
|
|
|
|
part parent "2343"
|
|
desc = "AT90S2323";
|
|
id = "2323";
|
|
variants =
|
|
"AT90S2323-10PC: DIP8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2323-10PI: DIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2323-10SC: SOIC8, Fmax=10 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S2323-10SI: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
mcuid = 187;
|
|
stk500_devcode = 0x41;
|
|
avr910_devcode = 0x48;
|
|
signature = 0x1e 0x91 0x02;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny22
|
|
#------------------------------------------------------------
|
|
|
|
part parent "2343"
|
|
desc = "ATtiny22";
|
|
id = "t22";
|
|
variants =
|
|
"ATtiny22L-1PC: DIP8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"ATtiny22L-1PI: DIP8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]",
|
|
"ATtiny22L-1SC: SOIC8, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 6 V]",
|
|
"ATtiny22L-1SI: SOIC8, Fmax=1 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 6 V]";
|
|
mcuid = 13;
|
|
stk500_devcode = 0x20;
|
|
avr910_devcode = 0x00; # Unknown
|
|
signature = 0x1e 0x91 0x06;
|
|
|
|
memory "fuse"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S4433
|
|
#------------------------------------------------------------
|
|
|
|
part parent "2333"
|
|
desc = "AT90S4433";
|
|
id = "4433";
|
|
variants =
|
|
"AT90S4433-8AC: TQFP32, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4433-8AI: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4433-8PC: DIP28, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4433-8PI: DIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
mcuid = 191;
|
|
stk500_devcode = 0x51;
|
|
avr910_devcode = 0x30;
|
|
signature = 0x1e 0x92 0x03;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
initval = 0xda;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S8515
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S8515";
|
|
id = "8515";
|
|
variants =
|
|
"AT90S8515-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 193;
|
|
n_interrupts = 13;
|
|
stk500_devcode = 0x60;
|
|
avr910_devcode = 0x38;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x93 0x01;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x80 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x7f 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x21;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S8535
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90S8535";
|
|
id = "8535";
|
|
variants =
|
|
"AT90S8535-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S8535-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S8535-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S8535-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S8535-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S8535-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 195;
|
|
n_interrupts = 17;
|
|
stk500_devcode = 0x61;
|
|
avr910_devcode = 0x68;
|
|
chip_erase_delay = 20000;
|
|
signature = 0x1e 0x93 0x03;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0x00 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 20000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x21;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxox.xxxo";
|
|
write = "1010.1100--1011.111i--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
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 o1 o2 x x x x x x";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90S4434
|
|
#------------------------------------------------------------
|
|
|
|
# No XML file for device AT90S4434, so parenting off AT90S8535
|
|
# with which it shares the datasheet.
|
|
|
|
part parent "8535"
|
|
desc = "AT90S4434";
|
|
id = "4434";
|
|
variants =
|
|
"AT90S4434-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4434-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4434-8JC: LCC44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4434-8JI: LCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4434-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 6 V]",
|
|
"AT90S4434-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 6 V]";
|
|
mcuid = 192;
|
|
stk500_devcode = 0x52;
|
|
avr910_devcode = 0x6c;
|
|
signature = 0x1e 0x92 0x02;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write_lo = "0100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
write_hi = "0100.1000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "fuse"
|
|
max_write_delay = 20000;
|
|
;
|
|
|
|
memory "lock"
|
|
max_write_delay = 20000;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega103
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega103";
|
|
id = "m103";
|
|
variants =
|
|
"ATmega103-6AC: TQFP64, Fmax=6 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega103-6AI: TQFP64, Fmax=6 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega103L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 3.6 V]",
|
|
"ATmega103L-4AI: TQFP64, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 84;
|
|
n_interrupts = 24;
|
|
stk500_devcode = 0xb1;
|
|
avr910_devcode = 0x41;
|
|
chip_erase_delay = 112000;
|
|
pagel = 0xa0;
|
|
bs2 = 0xd7;
|
|
signature = 0x1e 0x97 0x01;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x8e, 0x9e, 0x2e, 0x3e, 0xae, 0xbe,
|
|
0x4e, 0x5e, 0xce, 0xde, 0x6e, 0x7e, 0xee, 0xde,
|
|
0x66, 0x76, 0xe6, 0xf6, 0x6a, 0x7a, 0xea, 0x7a,
|
|
0x7f, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepulsewidth = 15;
|
|
programfusepulsewidth = 2;
|
|
programlockpolltimeout = 10;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 9000;
|
|
readback = 0x80 0x7f;
|
|
mode = 0x04;
|
|
delay = 12;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 22000;
|
|
max_write_delay = 56000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x11;
|
|
delay = 70;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0x2b;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xxox.o1oo";
|
|
write = "1010.1100--1011.i1ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x06;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xoox";
|
|
write = "1010.1100--1111.1ii1--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega64";
|
|
id = "m64";
|
|
variants =
|
|
"ATmega64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega64-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]",
|
|
"ATmega64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.2 V, 5.5 V]",
|
|
"ATmega64-16MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega64L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8AQ: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8AQR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8MN: QFN64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8MQ: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8MQR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8MU: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 72;
|
|
n_interrupts = 35;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xa0;
|
|
avr910_devcode = 0x45;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x02;
|
|
reset = io;
|
|
allowfullpagebitstream = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x22;
|
|
spmcr = 0x68;
|
|
eecr = 0x3c;
|
|
ocdrev = 2;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xfd;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m64"
|
|
desc = "ATmega64A";
|
|
id = "m64a";
|
|
variants =
|
|
"ATmega64A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64A-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 73;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega128
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega128";
|
|
id = "m128";
|
|
variants =
|
|
"ATmega128-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16MN: MLF64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16MNR: MLF64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128-16MUR: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega128L-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]",
|
|
"ATmega128L-8ANR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]",
|
|
"ATmega128L-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128L-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128L-8MN: MLF64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[3 V, 5.5 V]",
|
|
"ATmega128L-8MNR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128L-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128L-8MUR: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 85;
|
|
n_interrupts = 35;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xb2;
|
|
avr910_devcode = 0x43;
|
|
chip_erase_delay = 10000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x97 0x02;
|
|
reset = io;
|
|
allowfullpagebitstream = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x22;
|
|
rampz = 0x3b;
|
|
spmcr = 0x68;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 10000;
|
|
max_write_delay = 10000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 5000;
|
|
max_write_delay = 5000;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xfd;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega128A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m128"
|
|
desc = "ATmega128A";
|
|
id = "m128a";
|
|
variants =
|
|
"ATmega128A: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega128A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-MNR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega128A-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 86;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90CAN128
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90CAN128";
|
|
id = "c128";
|
|
variants =
|
|
"AT90CAN128: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, N/A]",
|
|
"AT90CAN128-15AZ: TQFP64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN128-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 176;
|
|
n_interrupts = 37;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xb3;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
# avr910_devcode = 0x43;
|
|
signature = 0x1e 0x97 0x81;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
rampz = 0x3b;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90CAN64
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90CAN64";
|
|
id = "c64";
|
|
variants =
|
|
"AT90CAN64: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN64-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 172;
|
|
n_interrupts = 37;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xb3;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
# avr910_devcode = 0x43;
|
|
signature = 0x1e 0x96 0x81;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90CAN32
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90CAN32";
|
|
id = "c32";
|
|
variants =
|
|
"AT90CAN32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16MI: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90CAN32-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 171;
|
|
n_interrupts = 37;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xb3;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
# avr910_devcode = 0x43;
|
|
signature = 0x1e 0x95 0x81;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 256;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega16";
|
|
id = "m16";
|
|
variants =
|
|
"ATmega16: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega16-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16MQ: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16MUR: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega16L-8AQ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8AQR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8AUR: TQFP44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 49;
|
|
n_interrupts = 21;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x82;
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x03;
|
|
reset = io;
|
|
allowfullpagebitstream = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 2;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--000x.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m16"
|
|
desc = "ATmega16A";
|
|
id = "m16a";
|
|
variants =
|
|
"ATmega16A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16A-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 50;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega324P
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega324P";
|
|
id = "m324p";
|
|
variants =
|
|
"ATmega324P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega324P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega324PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10AUR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 111;
|
|
n_interrupts = 31;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 55000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x08;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega164P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m324p"
|
|
desc = "ATmega164P";
|
|
id = "m164p";
|
|
variants =
|
|
"ATmega164P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega164P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega164PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10AQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10MUR: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 93;
|
|
boot_section_size = 256;
|
|
signature = 0x1e 0x94 0x0a;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
delay = 20;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
num_pages = 128;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega164PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m164p"
|
|
desc = "ATmega164PA";
|
|
id = "m164pa";
|
|
variants =
|
|
"ATmega164PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-CUR: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MCHR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 94;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega164A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m164p"
|
|
desc = "ATmega164A";
|
|
id = "m164a";
|
|
variants =
|
|
"ATmega164A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-CUR: VFBGA49, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-MCHR: QFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-MUR: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega164A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 92;
|
|
signature = 0x1e 0x94 0x0f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega324PB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m324p"
|
|
desc = "ATmega324PB";
|
|
id = "m324pb";
|
|
variants =
|
|
"ATmega324PB-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-ANR: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-MN: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-MNR: QFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PB-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 113;
|
|
n_interrupts = 51;
|
|
signature = 0x1e 0x95 0x17;
|
|
|
|
memory "efuse"
|
|
initval = 0x07;
|
|
bitmask = 0x0f;
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega324PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m324p"
|
|
desc = "ATmega324PA";
|
|
id = "m324pa";
|
|
variants =
|
|
"ATmega324PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MCHR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MNR: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 112;
|
|
signature = 0x1e 0x95 0x11;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega324A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m324p"
|
|
desc = "ATmega324A";
|
|
id = "m324a";
|
|
variants =
|
|
"ATmega324A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-CU: VFBGA49, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-MCH: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega324A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 110;
|
|
signature = 0x1e 0x95 0x15;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega644
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega644";
|
|
id = "m644";
|
|
variants =
|
|
"ATmega644: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega644-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644-20AUR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644-20MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644-20MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644V-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644V-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644V-10MU: MLF44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644V-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644V-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 127;
|
|
n_interrupts = 28;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 55000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x09;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega644A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m644"
|
|
desc = "ATmega644A";
|
|
id = "m644a";
|
|
variants =
|
|
"ATmega644A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644A-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644A-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644A-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644A-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644A-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 128;
|
|
n_interrupts = 31;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega644P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m644"
|
|
desc = "ATmega644P";
|
|
id = "m644p";
|
|
variants =
|
|
"ATmega644P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega644P-20AN: TQFP44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20AQ: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20AQR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20MN: VQFN44, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20MQ: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20MQR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20PQ: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644P-20PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega644PV-10AN: TQFP44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10AQ: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10AQR: TQFP44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10AU: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10AUR: TQFP44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10MN: VQFN44, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10MQ: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10MQR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10MU: VQFN44, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10MUR: VQFN44, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10PN: PDIP40, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10PQ: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PV-10PU: PDIP40, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 129;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x96 0x0a;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega644PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m644"
|
|
desc = "ATmega644PA";
|
|
id = "m644pa";
|
|
variants =
|
|
"ATmega644PA-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-ANR: TQFP44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-MN: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-MNR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-MU: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-MUR: VQFN44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega644PA-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 130;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x96 0x0a;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1284
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega1284";
|
|
id = "m1284";
|
|
variants =
|
|
"ATmega1284-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284-MU: MLF44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284-MUR: MLF44, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 140;
|
|
n_interrupts = 35;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 55000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x97 0x06;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
rampz = 0x3b;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 128;
|
|
read = "1010.0000--00xx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 128;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1284P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m1284"
|
|
desc = "ATmega1284P";
|
|
id = "m1284p";
|
|
variants =
|
|
"ATmega1284P-AN: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-AU: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-AUR: TQFP44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-MN: QFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-MU: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-MUR: VQFN44, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-PN: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1284P-PU: PDIP40, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 141;
|
|
signature = 0x1e 0x97 0x05;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega162
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega162";
|
|
id = "m162";
|
|
variants =
|
|
"ATmega162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162-16AC: TQFP44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega162-16AI: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16AJ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16MC: VFQFN44, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega162-16MI: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16MJ: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16MU: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16MUR: VFQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16PC: DIP40, Fmax=16 MHz, T=[0 C, 70 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega162-16PI: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16PJ: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162-16PU: DIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8MC: VFQFN44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162L-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega162V-1AC: TQFP44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega162V-1MC: VFQFN44, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega162V-1PC: DIP40, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega162V-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8AJ: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8MI: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8MJ: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8MU: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8MUR: VFQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8PJ: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega162V-8PU: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 90;
|
|
n_interrupts = 28;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x83;
|
|
avr910_devcode = 0x63;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x04;
|
|
reset = io;
|
|
allowfullpagebitstream = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x04;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 2;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--111i.iii1";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--00xx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega163
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega163";
|
|
id = "m163";
|
|
variants =
|
|
"ATmega163-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega163-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega163-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega163-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega163L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega163L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega163L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega163L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 91;
|
|
n_interrupts = 18;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x81;
|
|
avr910_devcode = 0x64;
|
|
chip_erase_delay = 32000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x02;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepolltimeout = 30;
|
|
programfusepolltimeout = 2;
|
|
programlockpolltimeout = 2;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 16000;
|
|
max_write_delay = 16000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x11;
|
|
delay = 20;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
bitmask = 0xef;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--ooxx.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--ii11.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--xxxx.1ooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.0000--xxxx.0xxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega169
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega169";
|
|
id = "m169";
|
|
variants =
|
|
"ATmega169: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega169-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169L-4AC: TQFP64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169L-4MC: VFQFN64, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169L-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169L-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169V-1AC: TQFP64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169V-1MC: VFQFN64, Fmax=1 MHz, T=[0 C, 70 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 104;
|
|
n_interrupts = 23;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x85;
|
|
avr910_devcode = 0x78;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x05;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 2;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0xff;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega169A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m169"
|
|
desc = "ATmega169A";
|
|
id = "m169a";
|
|
variants =
|
|
"ATmega169A-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-MCH: DRQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-MN: QFN64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169A-MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 105;
|
|
signature = 0x1e 0x94 0x11;
|
|
reset = io;
|
|
latchcycles = 6;
|
|
togglevtg = 0;
|
|
poweroffdelay = 0;
|
|
resetdelayms = 0;
|
|
resetdelay = 15;
|
|
|
|
memory "eeprom"
|
|
readback = 0x00 0x00;
|
|
;
|
|
|
|
memory "flash"
|
|
readback = 0x00 0x00;
|
|
delay = 10;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega169P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m169"
|
|
desc = "ATmega169P";
|
|
id = "m169p";
|
|
variants =
|
|
"ATmega169P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega169P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16MCHR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16MCU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169P-16MUR: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega169PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8MCH: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8MCHR: QFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8MCU: VQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 106;
|
|
reset = io;
|
|
latchcycles = 6;
|
|
togglevtg = 0;
|
|
poweroffdelay = 0;
|
|
resetdelayms = 0;
|
|
resetdelay = 15;
|
|
|
|
memory "eeprom"
|
|
readback = 0x00 0x00;
|
|
;
|
|
|
|
memory "flash"
|
|
readback = 0x00 0x00;
|
|
delay = 10;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega169PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m169"
|
|
desc = "ATmega169PA";
|
|
id = "m169pa";
|
|
variants =
|
|
"ATmega169PA-AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-ANR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-MCH: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-MCHR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega169PA-MN: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-MNR: QFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega169PA-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega169PA-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 107;
|
|
reset = io;
|
|
latchcycles = 6;
|
|
togglevtg = 0;
|
|
poweroffdelay = 0;
|
|
resetdelayms = 0;
|
|
resetdelay = 15;
|
|
|
|
memory "eeprom"
|
|
readback = 0x00 0x00;
|
|
;
|
|
|
|
memory "flash"
|
|
readback = 0x00 0x00;
|
|
delay = 10;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega329
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega329";
|
|
id = "m329";
|
|
variants =
|
|
"ATmega329: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega329-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega329-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 121;
|
|
n_interrupts = 23;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
|
# avr910_devcode = 0x?; # try the ATmega169 one:
|
|
avr910_devcode = 0x75;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x03;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega329A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega329A";
|
|
id = "m329a";
|
|
variants =
|
|
"ATmega329A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 122;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega329P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega329P";
|
|
id = "m329p";
|
|
variants =
|
|
"ATmega329P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega329P-20AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329P-20ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20MNR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329P-20MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega329PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PV-10MN: VQFN64, Fmax=10 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 123;
|
|
signature = 0x1e 0x95 0x0b;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega329PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega329PA";
|
|
id = "m329pa";
|
|
variants =
|
|
"ATmega329PA-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PA-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PA-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 124;
|
|
signature = 0x1e 0x95 0x0b;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3290
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega3290";
|
|
id = "m3290";
|
|
variants =
|
|
"ATmega3290: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3290-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3290V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 150;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x04;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3290A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega3290A";
|
|
id = "m3290a";
|
|
variants =
|
|
"ATmega3290A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 151;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x04;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3290P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega3290P";
|
|
id = "m3290p";
|
|
variants =
|
|
"ATmega3290P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3290P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3290PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 152;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x0c;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3290PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m329"
|
|
desc = "ATmega3290PA";
|
|
id = "m3290pa";
|
|
variants =
|
|
"ATmega3290PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3290PA-AUR: TQFP100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 153;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x0c;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega649
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega649";
|
|
id = "m649";
|
|
variants =
|
|
"ATmega649: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega649-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega649-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega649-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega649-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega649V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega649V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 135;
|
|
n_interrupts = 23;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0x85; # no STK500 support, only STK500v2
|
|
# avr910_devcode = 0x?; # try the ATmega169 one:
|
|
avr910_devcode = 0x75;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x03;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega649A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m649"
|
|
desc = "ATmega649A";
|
|
id = "m649a";
|
|
variants =
|
|
"ATmega649A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 136;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega649P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m649"
|
|
desc = "ATmega649P";
|
|
id = "m649p";
|
|
variants =
|
|
"ATmega649P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649P-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega649P-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 137;
|
|
signature = 0x1e 0x96 0x0b;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6490
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m649"
|
|
desc = "ATmega6490";
|
|
id = "m6490";
|
|
variants =
|
|
"ATmega6490: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6490-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega6490-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega6490V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega6490V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 157;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x04;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6490A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m649"
|
|
desc = "ATmega6490A";
|
|
id = "m6490a";
|
|
variants =
|
|
"ATmega6490A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6490A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6490A-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 158;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x04;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6490P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m649"
|
|
desc = "ATmega6490P";
|
|
id = "m6490p";
|
|
variants =
|
|
"ATmega6490P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6490P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6490P-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 159;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x0c;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega32";
|
|
id = "m32";
|
|
variants =
|
|
"ATmega32: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega32-16AQ: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16AQR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega32L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32L-8MUR: VQFN44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG | PM_JTAGmkI;
|
|
mcuid = 58;
|
|
n_interrupts = 21;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
stk500_devcode = 0x91;
|
|
avr910_devcode = 0x72;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x02;
|
|
reset = io;
|
|
allowfullpagebitstream = yes;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 2;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega161
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega161";
|
|
id = "m161";
|
|
variants =
|
|
"ATmega161-8AC: TQFP44, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega161-8AI: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega161-8PC: DIP40, Fmax=8 MHz, T=[0 C, 70 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega161-8PI: DIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 5.5 V]",
|
|
"ATmega161L-4AC: TQFP44, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega161L-4AI: TQFP44, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega161L-4PC: DIP40, Fmax=4 MHz, T=[0 C, 70 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega161L-4PI: DIP40, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 89;
|
|
n_interrupts = 21;
|
|
n_boot_sections = 1;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0x80;
|
|
avr910_devcode = 0x60;
|
|
chip_erase_delay = 28000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x01;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
chiperasepolltimeout = 30;
|
|
programfusepolltimeout = 2;
|
|
programlockpolltimeout = 2;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 3400;
|
|
max_write_delay = 3400;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 5;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 14000;
|
|
max_write_delay = 14000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x21;
|
|
delay = 16;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xda;
|
|
bitmask = 0x77;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.0000--xxxx.xxxx--xxxx.xxxx--xoxo.oooo";
|
|
write = "1010.1100--101x.xxxx--xxxx.xxxx--1i1i.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m32"
|
|
desc = "ATmega32A";
|
|
id = "m32a";
|
|
variants =
|
|
"ATmega32A-AN: TQFP44, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-ANR: TQFP44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-MN: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-MNR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-MUR: VQFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-PN: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32A-PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 59;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega8";
|
|
id = "m8";
|
|
variants =
|
|
"ATmega8: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega8-16AN: TQFP32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16MUR: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16PN: PDIP28, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8-16PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8L-8AN: TQFP32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8AU: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8AUR: TQFP32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8MN: QFN32, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8MUR: VQFN32, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8PN: PDIP28, Fmax=8 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8L-8PU: PDIP28, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 45;
|
|
n_interrupts = 19;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x70;
|
|
avr910_devcode = 0x76;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
signature = 0x1e 0x93 0x07;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 2;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 20;
|
|
programfusepolltimeout = 10;
|
|
programlockpolltimeout = 10;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m8"
|
|
desc = "ATmega8A";
|
|
id = "m8a";
|
|
variants =
|
|
"ATmega8A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-AN: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-ANR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-MN: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-MNR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-PN: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8A-PU: PDIP28, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 46;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8515
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega8515";
|
|
id = "m8515";
|
|
variants =
|
|
"ATmega8515: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8515L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8MUR: VQFN44, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8515L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 160;
|
|
n_interrupts = 17;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x63;
|
|
avr910_devcode = 0x3a;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x93 0x06;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8535
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega8535";
|
|
id = "m8535";
|
|
variants =
|
|
"ATmega8535: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535-16AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16JU: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16JUR: PLCC44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16MU: MLF44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535-16PU: PDIP40, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega8535L-8AU: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8AUR: TQFP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8JU: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8JUR: PLCC44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8MU: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8MUR: MLF44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8535L-8PU: PDIP40, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP;
|
|
mcuid = 161;
|
|
n_interrupts = 21;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x64;
|
|
avr910_devcode = 0x69;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x93 0x08;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 2000;
|
|
max_write_delay = 2000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--00xx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny26
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny26";
|
|
id = "t26";
|
|
variants =
|
|
"ATtiny26: N/A, Fmax=16 MHz, T=[N/A, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny26-16MU: MLF32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATtiny26-16MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATtiny26-16PU: PDIP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATtiny26-16SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATtiny26-16SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATtiny26L-8MU: MLF32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny26L-8MUR: VQFN32, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny26L-8PU: PDIP20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny26L-8SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny26L-8SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_ISP | PM_HVPP;
|
|
mcuid = 17;
|
|
n_interrupts = 12;
|
|
stk500_devcode = 0x21;
|
|
avr910_devcode = 0x5e;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
signature = 0x1e 0x91 0x09;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec,
|
|
0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc,
|
|
0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c,
|
|
0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 2;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 20;
|
|
programfusepolltimeout = 10;
|
|
programlockpolltimeout = 10;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
readback = 0xff 0xff;
|
|
mode = 0x04;
|
|
delay = 20;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 2048;
|
|
page_size = 32;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0x00;
|
|
mode = 0x21;
|
|
delay = 10;
|
|
blocksize = 16;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xe1;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xf7;
|
|
bitmask = 0x1f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--xxxi.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo";
|
|
write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 4;
|
|
read = "0011.1000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny261
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny261";
|
|
id = "t261";
|
|
variants =
|
|
"ATtiny261: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny261-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny261-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny261-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny261V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 30;
|
|
n_interrupts = 19;
|
|
chip_erase_delay = 4000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
# stk500_devcode = 0x21;
|
|
# avr910_devcode = 0x5e;
|
|
signature = 0x1e 0x91 0x0c;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec,
|
|
0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc,
|
|
0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c,
|
|
0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb4, 0x00, 0x10;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x20;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 4;
|
|
num_pages = 32;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 2048;
|
|
page_size = 32;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xxaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxx.xxaa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo";
|
|
write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny261A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t261"
|
|
desc = "ATtiny261A";
|
|
id = "t261a";
|
|
variants =
|
|
"ATtiny261A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-MF: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-MFR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-MN: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-MNR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny261A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 31;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny461
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny461";
|
|
id = "t461";
|
|
variants =
|
|
"ATtiny461: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny461-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny461-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny461-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny461-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny461-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny461V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 33;
|
|
n_interrupts = 19;
|
|
chip_erase_delay = 4000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
# stk500_devcode = 0x21;
|
|
# avr910_devcode = 0x5e;
|
|
signature = 0x1e 0x92 0x08;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec,
|
|
0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc,
|
|
0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c,
|
|
0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb4, 0x00, 0x10;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x20;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
num_pages = 64;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxx--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxx.xaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo";
|
|
write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny461A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t461"
|
|
desc = "ATtiny461A";
|
|
id = "t461a";
|
|
variants =
|
|
"ATtiny461A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny461A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 34;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny861
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny861";
|
|
id = "t861";
|
|
variants =
|
|
"ATtiny861: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny861-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny861-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny861-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny861-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny861-20SUR: SOIC20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny861V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 38;
|
|
n_interrupts = 19;
|
|
chip_erase_delay = 4000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
# stk500_devcode = 0x21;
|
|
# avr910_devcode = 0x5e;
|
|
signature = 0x1e 0x93 0x0d;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec,
|
|
0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc,
|
|
0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c,
|
|
0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb4, 0x00, 0x10;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x00, 0xb4, 0x00, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x20;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxx.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--xxxx.xxxx--xxxx.xxxx--xxxx.xxoo";
|
|
write = "1010.1100--1111.11ii--xxxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny861A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t861"
|
|
desc = "ATtiny861A";
|
|
id = "t861a";
|
|
variants =
|
|
"ATtiny861A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-XU: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny861A-XUR: TSSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 39;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny28
|
|
#------------------------------------------------------------
|
|
|
|
# This is an HVPP-only device.
|
|
|
|
part
|
|
desc = "ATtiny28";
|
|
id = "t28";
|
|
variants =
|
|
"ATtiny28: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny28L-4AU: TQFP32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny28L-4MU: MLF32, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny28L-4MUR: VQFN32, Fmax=4 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny28L-4PU: PDIP28, Fmax=4 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny28V-1AU: TQFP32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny28V-1AUR: TQFP32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny28V-1MU: MLF32, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny28V-1MUR: VQFN32, Fmax=1 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny28V-1PU: PDIP28, Fmax=1.2 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_HVPP;
|
|
mcuid = 18;
|
|
n_interrupts = 6;
|
|
stk500_devcode = 0x22;
|
|
avr910_devcode = 0x5c;
|
|
signature = 0x1e 0x91 0x07;
|
|
serial = no;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 2;
|
|
delay = 5;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0x12;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0x06;
|
|
bitmask = 0x06;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega48
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega48";
|
|
id = "m48";
|
|
variants =
|
|
"ATmega48: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega48-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10MMH: VQFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10MMU: QFN28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10MMUR: VQFN28, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 67;
|
|
n_interrupts = 26;
|
|
stk500_devcode = 0x59;
|
|
chip_erase_delay = 45000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x92 0x05;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega48A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m48"
|
|
desc = "ATmega48A";
|
|
id = "m48a";
|
|
variants =
|
|
"ATmega48A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 68;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega48P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m48"
|
|
desc = "ATmega48P";
|
|
id = "m48p";
|
|
variants =
|
|
"ATmega48P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20MMU: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega48PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10MMU: MLF28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10MMUR: VQFN28, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 69;
|
|
signature = 0x1e 0x92 0x0a;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega48PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m48"
|
|
desc = "ATmega48PA";
|
|
id = "m48pa";
|
|
variants =
|
|
"ATmega48PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-AUR: QFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MMHR: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MMN: QFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MMNR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-PN: SPDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 70;
|
|
signature = 0x1e 0x92 0x0a;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega48PB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m48"
|
|
desc = "ATmega48PB";
|
|
id = "m48pb";
|
|
variants =
|
|
"ATmega48PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega48PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega48PB-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 71;
|
|
n_interrupts = 27;
|
|
chip_erase_delay = 10500;
|
|
signature = 0x1e 0x92 0x10;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega88
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega88";
|
|
id = "m88";
|
|
variants =
|
|
"ATmega88: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega88-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88V-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 79;
|
|
n_interrupts = 26;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x73;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x93 0x0a;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf9;
|
|
bitmask = 0x07;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega88A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "ATmega88A";
|
|
id = "m88a";
|
|
variants =
|
|
"ATmega88A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 80;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega88P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "ATmega88P";
|
|
id = "m88p";
|
|
variants =
|
|
"ATmega88P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88P-20MUR: VQFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega88PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PV-10MUR: VQFN32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 81;
|
|
signature = 0x1e 0x93 0x0f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega88PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "ATmega88PA";
|
|
id = "m88pa";
|
|
variants =
|
|
"ATmega88PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-15MZ: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MMH: QFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MMHR: VQFN28, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MMN: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MMNR: VQFN28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MMUR: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 82;
|
|
signature = 0x1e 0x93 0x0f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega88PB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "ATmega88PB";
|
|
id = "m88pb";
|
|
variants =
|
|
"ATmega88PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-MNR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega88PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega88PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 83;
|
|
n_interrupts = 27;
|
|
chip_erase_delay = 10500;
|
|
signature = 0x1e 0x93 0x16;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega168
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega168";
|
|
id = "m168";
|
|
variants =
|
|
"ATmega168: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega168-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20MQR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168V-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10MQ: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10MQR: QFN32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168V-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 99;
|
|
n_interrupts = 26;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x86;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x94 0x06;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf9;
|
|
bitmask = 0x07;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega168A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "ATmega168A";
|
|
id = "m168a";
|
|
variants =
|
|
"ATmega168A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-MMH: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-MMHR: VQFN28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168A-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 100;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega168P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "ATmega168P";
|
|
id = "m168p";
|
|
variants =
|
|
"ATmega168P-20AN: TQFP32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20MQ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20MQR: QFN32, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168P-20PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega168PV-10AN: TQFP32, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PV-10AU: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PV-10AUR: TQFP32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PV-10MU: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PV-10MUR: MLF32, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PV-10PU: PDIP28, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 101;
|
|
signature = 0x1e 0x94 0x0b;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega168PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "ATmega168PA";
|
|
id = "m168pa";
|
|
variants =
|
|
"ATmega168PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-CCU: UFBGA32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MMHR: QFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PA-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 102;
|
|
signature = 0x1e 0x94 0x0b;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega168PB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "ATmega168PB";
|
|
id = "m168pb";
|
|
variants =
|
|
"ATmega168PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-MN: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-MU: VFQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega168PB-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 103;
|
|
n_interrupts = 27;
|
|
chip_erase_delay = 10500;
|
|
signature = 0x1e 0x94 0x15;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny828
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny828";
|
|
id = "t828";
|
|
variants =
|
|
"ATtiny828: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.62 V, 5.5 V]",
|
|
"ATtiny828-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny828-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny828-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny828-MUR: VQFN32, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 35;
|
|
n_interrupts = 26;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x86;
|
|
chip_erase_delay = 15000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x93 0x14;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x6e;
|
|
bitmask = 0xf3;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0xf7;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny828R
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t828"
|
|
desc = "ATtiny828R";
|
|
id = "t828r";
|
|
variants =
|
|
"ATtiny828R-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny828R-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]";
|
|
mcuid = 36;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny87
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny87";
|
|
id = "t87";
|
|
variants =
|
|
"ATtiny87: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-MUR: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny87-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 27;
|
|
n_interrupts = 20;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 15000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
signature = 0x1e 0x93 0x87;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e,
|
|
0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e,
|
|
0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a,
|
|
0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 128;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
# ATtiny87 has signature bytes 0x1E 0x93 0x87
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny167
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny167";
|
|
id = "t167";
|
|
variants =
|
|
"ATtiny167: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-A15XD: TSSOP20, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny167-MMU: WQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-MMUR: WQFN20, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATtiny167-MU: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-SU: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-SUR: SOIC20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-XU: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny167-XUR: TSSOP20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 29;
|
|
n_interrupts = 20;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = 0x??;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 15000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb2;
|
|
signature = 0x1e 0x94 0x87;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e,
|
|
0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e,
|
|
0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a,
|
|
0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--00xx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--00xx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--000a.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
# ATtiny167 has signature bytes 0x1E 0x94 0x87
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny48
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny48";
|
|
id = "t48";
|
|
variants =
|
|
"ATtiny48-AU: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MMHR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MMU: MLF28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MMUR: VQFN28, Fmax=12 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MU: MLF32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny48-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 23;
|
|
n_interrupts = 20;
|
|
stk500_devcode = 0x73;
|
|
chip_erase_delay = 15000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x92 0x09;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x6e;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny88
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny88";
|
|
id = "t88";
|
|
variants =
|
|
"ATtiny88-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-AUR: TQFP32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-CCU: UFBGA32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MMH: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MMHR: VQFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MMU: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MMUR: QFN28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MU: QFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-MUR: VQFN32, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny88-PU: PDIP28, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 28;
|
|
n_interrupts = 20;
|
|
stk500_devcode = 0x73;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x93 0x11;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x6e;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega328
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega328";
|
|
id = "m328";
|
|
variants =
|
|
"ATmega328-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 118;
|
|
n_interrupts = 26;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
stk500_devcode = 0x86;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc2;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x95 0x14;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega328P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m328"
|
|
desc = "ATmega328P";
|
|
id = "m328p";
|
|
variants =
|
|
"ATmega328P: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-15MZ: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MMH: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MMHR: MLF28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MNR: MLF32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MU: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-MUR: MLF32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-PN: PDIP28, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328P-PU: PDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 119;
|
|
signature = 0x1e 0x95 0x0f;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega328PB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m328"
|
|
desc = "ATmega328PB";
|
|
id = "m328pb";
|
|
variants =
|
|
"ATmega328PB-AN: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-ANR: TQFP32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-MN: QFN32, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-MNR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-MU: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega328PB-MUR: QFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 120;
|
|
n_interrupts = 45;
|
|
chip_erase_delay = 10500;
|
|
signature = 0x1e 0x95 0x16;
|
|
|
|
memory "efuse"
|
|
initval = 0xf7;
|
|
bitmask = 0x0f;
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64M1
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega64M1";
|
|
id = "m64m1";
|
|
variants =
|
|
"ATmega64M1-15MD: VQFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 76;
|
|
n_interrupts = 31;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xe2;
|
|
signature = 0x1e 0x96 0x84;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--0aaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--0aaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--a000.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32M1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m64m1"
|
|
desc = "ATmega32M1";
|
|
id = "m32m1";
|
|
variants =
|
|
"ATmega32M1: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32M1-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 63;
|
|
boot_section_size = 512;
|
|
signature = 0x1e 0x95 0x84;
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
blocksize = 4;
|
|
read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
blocksize = 128;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16M1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m32m1"
|
|
desc = "ATmega16M1";
|
|
id = "m16m1";
|
|
variants =
|
|
"ATmega16M1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16M1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 54;
|
|
signature = 0x1e 0x94 0x84;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii";
|
|
writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
num_pages = 128;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32C1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m32m1"
|
|
desc = "ATmega32C1";
|
|
id = "m32c1";
|
|
variants =
|
|
"ATmega32C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-ESAD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-ESMD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 62;
|
|
signature = 0x1e 0x95 0x86;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64C1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m64m1"
|
|
desc = "ATmega64C1";
|
|
id = "m64c1";
|
|
variants =
|
|
"ATmega64C1-15AD: TQFP32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-15AZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-15MD: VQFN32, Fmax=16 MHz, T=[-40 C, 150 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-15MZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-ESAZ: TQFP32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-ESMZ: VQFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega64C1-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 75;
|
|
signature = 0x1e 0x96 0x86;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA5505
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t167"
|
|
desc = "ATA5505";
|
|
id = "ata5505";
|
|
variants =
|
|
"ATA5505: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA5505-P3QW: VFQFN38, Fmax=N/A, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 198;
|
|
chip_erase_delay = 4000;
|
|
reset = dedicated;
|
|
|
|
memory "eeprom"
|
|
max_write_delay = 4000;
|
|
;
|
|
|
|
memory "lfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "hfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "efuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i";
|
|
;
|
|
|
|
memory "lock"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA6612C
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "ATA6612C";
|
|
id = "ata6612c";
|
|
variants =
|
|
"ATA6612C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6612C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 216;
|
|
chip_erase_delay = 4000;
|
|
|
|
memory "eeprom"
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
;
|
|
|
|
memory "efuse"
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA6613C
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "ATA6613C";
|
|
id = "ata6613c";
|
|
variants =
|
|
"ATA6613C-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6613C-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 217;
|
|
|
|
memory "efuse"
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA6614Q
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m328"
|
|
desc = "ATA6614Q";
|
|
id = "ata6614q";
|
|
variants =
|
|
"ATA6614Q-PLQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6614Q-PLQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 218;
|
|
signature = 0x1e 0x95 0x0f;
|
|
|
|
memory "efuse"
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.1ooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA6616C
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t87"
|
|
desc = "ATA6616C";
|
|
id = "ata6616c";
|
|
variants =
|
|
"ATA6616C-P3PW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6616C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6616C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 219;
|
|
chip_erase_delay = 4000;
|
|
reset = dedicated;
|
|
|
|
memory "eeprom"
|
|
max_write_delay = 4000;
|
|
;
|
|
|
|
memory "flash"
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "hfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "efuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i";
|
|
;
|
|
|
|
memory "lock"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA6617C
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t167"
|
|
desc = "ATA6617C";
|
|
id = "ata6617c";
|
|
variants =
|
|
"ATA6617C-P3QW: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA6617C-P3QW-1: VFQFN38, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 220;
|
|
chip_erase_delay = 4000;
|
|
reset = dedicated;
|
|
|
|
memory "eeprom"
|
|
max_write_delay = 4000;
|
|
;
|
|
|
|
memory "lfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "hfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "efuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i";
|
|
;
|
|
|
|
memory "lock"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATA664251
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t167"
|
|
desc = "ATA664251";
|
|
id = "ata664251";
|
|
variants =
|
|
"ATA664251: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATA664251-WGQW: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATA664251-WGQW-1: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 225;
|
|
chip_erase_delay = 4000;
|
|
reset = dedicated;
|
|
|
|
memory "eeprom"
|
|
max_write_delay = 4000;
|
|
;
|
|
|
|
memory "lfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "hfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "efuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--1111.111o";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.111i";
|
|
;
|
|
|
|
memory "lock"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "calibration"
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16HVA
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega16HVA";
|
|
id = "m16hva";
|
|
variants =
|
|
"ATmega16HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]",
|
|
"ATmega16HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega16HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega16HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega16HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 51;
|
|
n_interrupts = 21;
|
|
chip_erase_delay = 4000;
|
|
signature = 0x1e 0x94 0x0c;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
resetdelayus = 70;
|
|
hvleavestabdelay = 101;
|
|
resetdelay = 26;
|
|
chiperasepolltimeout = 40;
|
|
chiperasetime = 1;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.0000--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.0000--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.0000--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--1111.11oo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8HVA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m16hva"
|
|
desc = "ATmega8HVA";
|
|
id = "m8hva";
|
|
variants =
|
|
"ATmega8HVA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 4.5 V]",
|
|
"ATmega8HVA-4CKU: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega8HVA-4CKUR: WFLGA36, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega8HVA-4TU: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]",
|
|
"ATmega8HVA-4TUR: TSSOP28, Fmax=4 MHz, T=[-20 C, 85 C], Vcc=[1.8 V, 9 V]";
|
|
mcuid = 47;
|
|
signature = 0x1e 0x93 0x10;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
num_pages = 64;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
writepage = "0100.1100--0000.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16HVB
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega16HVB";
|
|
id = "m16hvb";
|
|
variants =
|
|
"ATmega16HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]",
|
|
"ATmega16HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]",
|
|
"ATmega16HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 52;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 4000;
|
|
pagel = 0xa3;
|
|
bs2 = 0xa2;
|
|
signature = 0x1e 0x94 0x0d;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xdd;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xe9;
|
|
bitmask = 0x1f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--111o.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--111i.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16HVBrevB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m16hvb"
|
|
desc = "ATmega16HVBrevB";
|
|
id = "m16hvbrevb";
|
|
variants =
|
|
"ATmega16HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]";
|
|
mcuid = 53;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32HVB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m16hvb"
|
|
desc = "ATmega32HVB";
|
|
id = "m32hvb";
|
|
variants =
|
|
"ATmega32HVB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[4 V, 18 V]",
|
|
"ATmega32HVB-8X3: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]",
|
|
"ATmega32HVB-8X3R: TFSOP44, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[4 V, 25 V]";
|
|
mcuid = 60;
|
|
signature = 0x1e 0x95 0x10;
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii";
|
|
writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
num_pages = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
writepage = "0100.1100--00aa.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32HVBrevB
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m32hvb"
|
|
desc = "ATmega32HVBrevB";
|
|
id = "m32hvbrevb";
|
|
variants =
|
|
"ATmega32HVBrevB: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 4.5 V]";
|
|
mcuid = 61;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64HVE2
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega64HVE2";
|
|
id = "m64hve2";
|
|
variants =
|
|
"ATmega64HVE2: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[3.0 V, 3.6 V]",
|
|
"ATmega64HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]",
|
|
"ATmega64HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 77;
|
|
n_interrupts = 25;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
chip_erase_delay = 4000;
|
|
signature = 0x1e 0x96 0x10;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
resetdelayus = 70;
|
|
hvleavestabdelay = 101;
|
|
resetdelay = 26;
|
|
chiperasepolltimeout = 40;
|
|
chiperasetime = 1;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 128;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xd7;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xf9;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--1111.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--1111.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32HVE2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m64hve2"
|
|
desc = "ATmega32HVE2";
|
|
id = "m32hve2";
|
|
variants =
|
|
"ATmega32HVE2-PLPW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]",
|
|
"ATmega32HVE2-PLQW: VFQFN48, Fmax=15 MHz, T=[-40 C, 125 C], Vcc=[3 V, 3.6 V]";
|
|
mcuid = 379;
|
|
signature = 0x1e 0x95 0x13;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
num_pages = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny2313
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny2313";
|
|
id = "t2313";
|
|
variants =
|
|
"ATtiny2313: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny2313-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny2313-20PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny2313-20SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny2313-20SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny2313V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313V-10MUR: WQFN20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313V-10PU: PDIP20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313V-10SU: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313V-10SUR: SOIC20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 42;
|
|
n_interrupts = 19;
|
|
stk500_devcode = 0x23;
|
|
# Use the ATtiny26 devcode:
|
|
avr910_devcode = 0x5e;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd4;
|
|
bs2 = 0xd6;
|
|
signature = 0x1e 0x91 0x0a;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e,
|
|
0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e,
|
|
0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a,
|
|
0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb2, 0x0f, 0x1f;
|
|
eeprom_instr =
|
|
0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x1f;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 0;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 2048;
|
|
page_size = 32;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
# The information in the data sheet of April/2004 is wrong, this works:
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
# The information in the data sheet of April/2004 is wrong, this works:
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
# The information in the data sheet of April/2004 is wrong, this works:
|
|
writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x64;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# ATtiny2313 has signature bytes 0x1E 0x91 0x0A
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
# The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
|
|
# The information in the data sheet of April/2004 is wrong, this works:
|
|
|
|
memory "calibration"
|
|
size = 2;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny2313A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t2313"
|
|
desc = "ATtiny2313A";
|
|
id = "t2313a";
|
|
variants =
|
|
"ATtiny2313A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny2313A-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 43;
|
|
n_interrupts = 21;
|
|
idr = 0x27;
|
|
|
|
memory "lfuse"
|
|
initval = 0x62;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny4313
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny4313";
|
|
id = "t4313";
|
|
variants =
|
|
"ATtiny4313: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-MUR: MLF20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-PU: PDIP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4313-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 44;
|
|
n_interrupts = 21;
|
|
stk500_devcode = 0x23;
|
|
# Use the ATtiny26 devcode:
|
|
avr910_devcode = 0x5e;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd4;
|
|
bs2 = 0xd6;
|
|
signature = 0x1e 0x92 0x0d;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e,
|
|
0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e,
|
|
0x26, 0x36, 0x66, 0x76, 0x2a, 0x3a, 0x6a, 0x7a,
|
|
0x2e, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb2, 0x0f, 0x1f;
|
|
eeprom_instr =
|
|
0xbb, 0xfe, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xba, 0x0f, 0xb2, 0x0f, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x27;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 0;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# ATtiny4313 has signature bytes 0x1E 0x92 0x0D
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 2;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM1
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90PWM1";
|
|
id = "pwm1";
|
|
variants =
|
|
"AT90PWM1: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM1-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM1-16MUR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM1-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 166;
|
|
n_interrupts = 32;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xe2;
|
|
signature = 0x1e 0x93 0x83;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf9;
|
|
bitmask = 0xb7;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--o1oo.1ooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--i1ii.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM2
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90PWM2";
|
|
id = "pwm2";
|
|
variants =
|
|
"AT90PWM2: SOIC24, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM2-16SQ: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM2-16SQR: SOIC24, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 167;
|
|
n_interrupts = 32;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
stk500_devcode = 0x65;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd8;
|
|
bs2 = 0xe2;
|
|
# avr910_devcode = ?;
|
|
signature = 0x1e 0x93 0x81;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0xff;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
readback = 0xff 0xff;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf9;
|
|
bitmask = 0xf7;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# AT90PWM2 has signature bytes 0x1E 0x93 0x81
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--00xx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM3
|
|
#------------------------------------------------------------
|
|
|
|
# Completely identical to AT90PWM2 (including the signature!)
|
|
|
|
part parent "pwm2"
|
|
desc = "AT90PWM3";
|
|
id = "pwm3";
|
|
variants =
|
|
"AT90PWM3: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM3-16MQ: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM3-16MQT: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 169;
|
|
resetdelay = 15;
|
|
idr = 0x31;
|
|
ocdrev = 1;
|
|
|
|
memory "eeprom"
|
|
readback = 0x00 0x00;
|
|
delay = 5;
|
|
;
|
|
|
|
memory "flash"
|
|
readback = 0x00 0x00;
|
|
delay = 10;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM2B
|
|
#------------------------------------------------------------
|
|
# Same as AT90PWM2 but different signature.
|
|
|
|
part parent "pwm2"
|
|
desc = "AT90PWM2B";
|
|
id = "pwm2b";
|
|
variants =
|
|
"AT90PWM2B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM2B-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM2B-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 168;
|
|
signature = 0x1e 0x93 0x83;
|
|
resetdelay = 15;
|
|
idr = 0x31;
|
|
ocdrev = 1;
|
|
|
|
memory "eeprom"
|
|
readback = 0x00 0x00;
|
|
delay = 5;
|
|
;
|
|
|
|
memory "flash"
|
|
readback = 0x00 0x00;
|
|
delay = 10;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM3B
|
|
#------------------------------------------------------------
|
|
|
|
# Completely identical to AT90PWM2B (including the signature!)
|
|
|
|
part parent "pwm2b"
|
|
desc = "AT90PWM3B";
|
|
id = "pwm3b";
|
|
variants =
|
|
"AT90PWM3B: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM3B-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM3B-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 170;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM161
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90PWM161";
|
|
id = "pwm161";
|
|
variants =
|
|
"AT90PWM161: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM161-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM161-16MNR: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM161-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM161-16SNR: SOIC20, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 177;
|
|
n_interrupts = 20;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xe2;
|
|
bs2 = 0xd6;
|
|
signature = 0x1e 0x94 0x8b;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0xc4, 0xe4, 0xc4, 0xe4, 0xcc, 0xec, 0xcc, 0xec,
|
|
0xd4, 0xf4, 0xd4, 0xf4, 0xdc, 0xfc, 0xdc, 0xfc,
|
|
0xc8, 0xe8, 0xd8, 0xf8, 0x4c, 0x6c, 0x5c, 0x7c,
|
|
0xec, 0xbc, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.000a--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.000a--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.000a--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--000a.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--00aa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--000a.aaaa--aa00.0000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xfd;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--11oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM81
|
|
#------------------------------------------------------------
|
|
|
|
part parent "pwm161"
|
|
desc = "AT90PWM81";
|
|
id = "pwm81";
|
|
variants =
|
|
"AT90PWM81: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM81-16MF: QFN32, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM81-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM81-16SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM81-16SN: SOIC20, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM81EP-16MN: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 173;
|
|
signature = 0x1e 0x93 0x88;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--000a.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--000a.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaa0.0000--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM316
|
|
#------------------------------------------------------------
|
|
|
|
# Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM.
|
|
|
|
part parent "pwm3b"
|
|
desc = "AT90PWM316";
|
|
id = "pwm316";
|
|
variants =
|
|
"AT90PWM316: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM316-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM316-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 180;
|
|
boot_section_size = 512;
|
|
signature = 0x1e 0x94 0x83;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--00xx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90PWM216
|
|
#------------------------------------------------------------
|
|
# Completely identical to AT90PWM316 (including the signature!)
|
|
|
|
part parent "pwm316"
|
|
desc = "AT90PWM216";
|
|
id = "pwm216";
|
|
variants =
|
|
"AT90PWM216: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM216-16SU: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90PWM216-16SUR: SOIC24, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 179;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny25
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny25";
|
|
id = "t25";
|
|
variants =
|
|
"ATtiny25: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny25-15ST: SOIC8, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20MFR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSHR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSU: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SSUR: SOIC8N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-10MF: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10MFR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSHR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSN: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSNR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSU: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SSUR: SOIC8N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny25V-20MF: MLF20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SSH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SSU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny25V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 16;
|
|
n_interrupts = 15;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x91 0x08;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
flash_instr = 0xb4, 0x02, 0x12;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x22;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 2048;
|
|
page_size = 32;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# ATtiny25 has signature bytes 0x1E 0x91 0x08
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny45
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny45";
|
|
id = "t45";
|
|
variants =
|
|
"ATtiny45: N/A, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny45-15SZ: SOIC8, Fmax=N/A, T=[-40 C, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny45-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45-20XUR: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10XU: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-10XUR: TSSOP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny45V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny45V-20XU: TSSOP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 22;
|
|
n_interrupts = 15;
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x92 0x06;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
flash_instr = 0xb4, 0x02, 0x12;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x22;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# ATtiny45 has signature bytes 0x1E 0x92 0x08 (data sheet 2586C-AVR-06/05 doc2586.pdf indicates otherwise)
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny85
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny85";
|
|
id = "t85";
|
|
variants =
|
|
"ATtiny85: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[N/A, N/A]",
|
|
"ATtiny85-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85-20MUR: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85-20SF: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85-20SFR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85-20SUR: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-10MUR: MLF20, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-10PU: PDIP8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-10SH: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-10SU: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-10SUR: SOIC8, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny85V-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85V-20PU: PDIP8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85V-20SH: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny85V-20SU: SOIC8, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 26;
|
|
n_interrupts = 15;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x93 0x0b;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
|
|
flash_instr = 0xb4, 0x02, 0x12;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x02, 0xb4, 0x02, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
idr = 0x22;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 5;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
# ATtiny85 has signature bytes 0x1E 0x93 0x08
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega640
|
|
#------------------------------------------------------------
|
|
# Almost same as ATmega1280, except for different memory sizes
|
|
|
|
part
|
|
desc = "ATmega640";
|
|
id = "m640";
|
|
variants =
|
|
"ATmega640: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega640-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega640-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega640-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega640V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega640V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega640V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega640V-8CUR: TFBGA100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 126;
|
|
n_interrupts = 57;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x08;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1280
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega1280";
|
|
id = "m1280";
|
|
variants =
|
|
"ATmega1280: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega1280-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1280-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1280-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1280V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1280V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1280V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 138;
|
|
n_interrupts = 57;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x97 0x03;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
rampz = 0x3b;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1281
|
|
#------------------------------------------------------------
|
|
# Identical to ATmega1280
|
|
|
|
part parent "m1280"
|
|
desc = "ATmega1281";
|
|
id = "m1281";
|
|
variants =
|
|
"ATmega1281: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega1281-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1281-16AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1281-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1281-16MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega1281V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1281V-8AUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1281V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1281V-8MUR: MLF64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 139;
|
|
signature = 0x1e 0x97 0x04;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega2560
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega2560";
|
|
id = "m2560";
|
|
variants =
|
|
"ATmega2560: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2560-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2560-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2560-16CU: CBGA100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2560V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega2560V-8AUR: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega2560V-8CU: CBGA100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 143;
|
|
n_interrupts = 57;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
stk500_devcode = 0xb2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x98 0x01;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
rampz = 0x3b;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
eind = 0x5c;
|
|
ocdrev = 4;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x40000;
|
|
page_size = 256;
|
|
num_pages = 1024;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega2561
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m2560"
|
|
desc = "ATmega2561";
|
|
id = "m2561";
|
|
variants =
|
|
"ATmega2561: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega2561-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2561-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2561-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2561-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[4.5 V, 5.5 V]",
|
|
"ATmega2561V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega2561V-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega2561V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega2561V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 144;
|
|
signature = 0x1e 0x98 0x02;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega128RFA1
|
|
#------------------------------------------------------------
|
|
# Identical to ATmega2561 but half the ROM
|
|
|
|
part parent "m2561"
|
|
desc = "ATmega128RFA1";
|
|
id = "m128rfa1";
|
|
variants =
|
|
"ATmega128RFA1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZF: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZFR: VFQFN64, Fmax=N/A, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZU: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZU00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZUR: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZUR-SL514: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFA1-ZUR00: VFQFN64, Fmax=N/A, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 87;
|
|
n_interrupts = 72;
|
|
chip_erase_delay = 18500;
|
|
bs2 = 0xe2;
|
|
signature = 0x1e 0xa7 0x01;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
latchcycles = 5;
|
|
ocdrev = 3;
|
|
|
|
memory "eeprom"
|
|
min_write_delay = 13000;
|
|
max_write_delay = 13000;
|
|
delay = 50;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
num_pages = 512;
|
|
delay = 50;
|
|
load_ext_addr = NULL;
|
|
;
|
|
|
|
memory "lfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "hfuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "efuse"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
|
|
memory "lock"
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega256RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m128rfa1"
|
|
desc = "ATmega256RFR2";
|
|
id = "m256rfr2";
|
|
variants =
|
|
"ATmega256RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega256RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega256RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega256RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 108;
|
|
n_interrupts = 77;
|
|
signature = 0x1e 0xa8 0x02;
|
|
chiperasepolltimeout = 20;
|
|
ocdrev = 4;
|
|
|
|
memory "eeprom"
|
|
size = 8192;
|
|
read = "1010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxa.aaaa--aaaa.aaaa--iiii.iiii";
|
|
writepage = "1100.0010--00xa.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x40000;
|
|
num_pages = 1024;
|
|
load_ext_addr = "0100.1101--0000.0000--0000.000a--0000.0000";
|
|
;
|
|
|
|
memory "efuse"
|
|
initval = 0xfe;
|
|
;
|
|
|
|
#####
|
|
# Three separate flash pages
|
|
# - Offset 0x100 in signature row
|
|
# - Only programmable with JTAG or HVPP
|
|
# - Readable from an application
|
|
# - Cannot be read using ISP
|
|
# - Not erased by chip erase
|
|
#
|
|
memory "usersig"
|
|
paged = yes;
|
|
size = 768;
|
|
page_size = 256;
|
|
num_pages = 3;
|
|
offset = 0x100;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 50;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega128RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m256rfr2"
|
|
desc = "ATmega128RFR2";
|
|
id = "m128rfr2";
|
|
variants =
|
|
"ATmega128RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega128RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 88;
|
|
signature = 0x1e 0xa7 0x02;
|
|
ocdrev = 3;
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
num_pages = 512;
|
|
load_ext_addr = NULL;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega64RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m128rfr2"
|
|
desc = "ATmega64RFR2";
|
|
id = "m64rfr2";
|
|
variants =
|
|
"ATmega64RFR2-ZF: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega64RFR2-ZFR: VFQFN64, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega64RFR2-ZU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega64RFR2-ZUR: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 78;
|
|
signature = 0x1e 0xa6 0x02;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
num_pages = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega2564RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m256rfr2"
|
|
desc = "ATmega2564RFR2";
|
|
id = "m2564rfr2";
|
|
variants =
|
|
"ATmega2564RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega2564RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega2564RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega2564RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 145;
|
|
signature = 0x1e 0xa8 0x03;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1284RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m128rfr2"
|
|
desc = "ATmega1284RFR2";
|
|
id = "m1284rfr2";
|
|
variants =
|
|
"ATmega1284RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega1284RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega1284RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega1284RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 142;
|
|
signature = 0x1e 0xa7 0x03;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega644RFR2
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m64rfr2"
|
|
desc = "ATmega644RFR2";
|
|
id = "m644rfr2";
|
|
variants =
|
|
"ATmega644RFR2-ZF: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega644RFR2-ZFR: VFQFN48, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega644RFR2-ZU: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]",
|
|
"ATmega644RFR2-ZUR: VFQFN48, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 3.6 V]";
|
|
mcuid = 131;
|
|
signature = 0x1e 0xa6 0x03;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny24
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny24";
|
|
id = "t24";
|
|
variants =
|
|
"ATtiny24: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny24-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny24-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny24-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny24-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny24V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24V-10MUR: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 14;
|
|
n_interrupts = 17;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x91 0x0b;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f;
|
|
flash_instr = 0xb4, 0x07, 0x17;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 50;
|
|
resetdelayus = 3;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
hvspcmdexedelay = 50;
|
|
idr = 0x27;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--xaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--xaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 2048;
|
|
page_size = 32;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.00aa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
# ATtiny24 has signature bytes 0x1E 0x91 0x0B
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny24A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t24"
|
|
desc = "ATtiny24A";
|
|
id = "t24a";
|
|
variants =
|
|
"ATtiny24A: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MM8: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MM8R: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny24A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 15;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny44
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny44";
|
|
id = "t44";
|
|
variants =
|
|
"ATtiny44: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44-20MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny44-20MUR: WQFN20, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny44-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny44-20SSU: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny44-20SSUR: SOIC14N, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny44V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44V-10SSU: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44V-10SSUR: SOIC14N, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 20;
|
|
n_interrupts = 17;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x92 0x07;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f;
|
|
flash_instr = 0xb4, 0x07, 0x17;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 50;
|
|
resetdelayus = 3;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
hvspcmdexedelay = 50;
|
|
idr = 0x27;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
# ATtiny44 has signature bytes 0x1E 0x92 0x07
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny44A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t44"
|
|
desc = "ATtiny44A";
|
|
id = "t44a";
|
|
variants =
|
|
"ATtiny44A: N/A, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MF: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MFR: QFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = XVII + IV; # 21;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny84
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny84";
|
|
id = "t84";
|
|
variants =
|
|
"ATtiny84: N/A, Fmax=20 MHz, T=[N/A, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84-15MZ: MLF20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84-20MU: MLF20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84-20MUR: WQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84-20PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84-20SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84-20SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny84V-10MU: MLF20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84V-10MUR: WQFN20, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84V-10PU: PDIP14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84V-10SSU: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84V-10SSUR: SOIC14, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVSP | PM_debugWIRE;
|
|
mcuid = 24;
|
|
n_interrupts = 17;
|
|
# no STK500 devcode in XML file, use the ATtiny45 one
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 4500;
|
|
signature = 0x1e 0x93 0x0c;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
hvsp_controlstack =
|
|
0x4c, 0x0c, 0x1c, 0x2c, 0x3c, 0x64, 0x74, 0x66,
|
|
0x68, 0x78, 0x68, 0x68, 0x7a, 0x6a, 0x68, 0x78,
|
|
0x78, 0x7d, 0x6d, 0x0c, 0x80, 0x40, 0x20, 0x10,
|
|
0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0f;
|
|
flash_instr = 0xb4, 0x07, 0x17;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 1;
|
|
togglevtg = 1;
|
|
poweroffdelay = 50;
|
|
resetdelayus = 3;
|
|
hvleavestabdelay = 100;
|
|
resetdelay = 25;
|
|
chiperasepolltimeout = 40;
|
|
programfusepolltimeout = 25;
|
|
programlockpolltimeout = 25;
|
|
synchcycles = 6;
|
|
hvspcmdexedelay = 50;
|
|
idr = 0x27;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 64;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--xxxx.xxii";
|
|
;
|
|
|
|
# ATtiny84 has signature bytes 0x1E 0x93 0x0C
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny84A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t84"
|
|
desc = "ATtiny84A";
|
|
id = "t84a";
|
|
variants =
|
|
"ATtiny84A-CCU: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-CCUR: UFBGA15, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MF: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MFR: WQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MMH: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MMHR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MU: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-MUR: QFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-PU: PDIP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny84A-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 25;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny441
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t44"
|
|
desc = "ATtiny441";
|
|
id = "t441";
|
|
variants =
|
|
"ATtiny441-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny441-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny441-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny441-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny441-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny441-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]";
|
|
mcuid = 32;
|
|
n_interrupts = 30;
|
|
n_page_erase = 4;
|
|
signature = 0x1e 0x92 0x15;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
resetdelayus = 0;
|
|
hvspcmdexedelay = 0;
|
|
|
|
memory "flash"
|
|
page_size = 16;
|
|
num_pages = 256;
|
|
blocksize = 16;
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaaa.axxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
bitmask = 0xdf;
|
|
;
|
|
|
|
memory "efuse"
|
|
bitmask = 0xff;
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny841
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t84"
|
|
desc = "ATtiny841";
|
|
id = "t841";
|
|
variants =
|
|
"ATtiny841-MMH: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny841-MMHR: VQFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny841-MU: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny841-MUR: QFN20, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny841-SSU: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]",
|
|
"ATtiny841-SSUR: SOIC14, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.7 V, 5.5 V]";
|
|
mcuid = 37;
|
|
n_interrupts = 30;
|
|
n_page_erase = 4;
|
|
signature = 0x1e 0x93 0x15;
|
|
poweroffdelay = 25;
|
|
resetdelayms = 1;
|
|
resetdelayus = 0;
|
|
hvspcmdexedelay = 0;
|
|
|
|
memory "flash"
|
|
page_size = 16;
|
|
num_pages = 512;
|
|
blocksize = 16;
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.xaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.xaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.aaaa--aaaa.axxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
bitmask = 0xdf;
|
|
;
|
|
|
|
memory "efuse"
|
|
bitmask = 0xff;
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny43U
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny43U";
|
|
id = "t43u";
|
|
variants =
|
|
"ATtiny43U: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[0.7 V, 5.5 V]",
|
|
"ATtiny43U-MU: QFN20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny43U-MUR: WQFN20, Fmax=8 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny43U-SU: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny43U-SUR: SOIC20, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 19;
|
|
n_interrupts = 16;
|
|
stk500_devcode = 0x14;
|
|
# avr910_devcode = ?;
|
|
# Try the AT90S2313 devcode:
|
|
avr910_devcode = 0x20;
|
|
chip_erase_delay = 1000;
|
|
pagel = 0xa3;
|
|
bs2 = 0xa2;
|
|
signature = 0x1e 0x92 0x0c;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0e, 0x1e, 0x2e, 0x3e, 0x2e, 0x3e,
|
|
0x4e, 0x5e, 0x4e, 0x5e, 0x6e, 0x7e, 0x6e, 0x7e,
|
|
0x06, 0x16, 0x46, 0x56, 0x0a, 0x1a, 0x4a, 0x5a,
|
|
0x1e, 0x7c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb4, 0x07, 0x17;
|
|
eeprom_instr =
|
|
0xbb, 0xff, 0xbb, 0xee, 0xbb, 0xcc, 0xb2, 0x0d,
|
|
0xbc, 0x07, 0xb4, 0x07, 0xba, 0x0d, 0xbb, 0xbc,
|
|
0x99, 0xe1, 0xbb, 0xac;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 20;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x27;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
paged = yes;
|
|
size = 64;
|
|
page_size = 4;
|
|
num_pages = 16;
|
|
min_write_delay = 4000;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxx--00aa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxx--00aa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxx--00aa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 4096;
|
|
page_size = 64;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 64;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0000.0aaa--aaax.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x01;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.xxxi";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.000a--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16u4
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega16U4";
|
|
id = "m16u4";
|
|
variants =
|
|
"ATmega16U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U4-MUR: VQFN44, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 57;
|
|
n_interrupts = 43;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x88;
|
|
usbpid = 0x2ff4;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x52;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xfb;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--00oo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32u4
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega32U4";
|
|
id = "m32u4";
|
|
variants =
|
|
"ATmega32U4-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4-AUR: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4RC-AU: TQFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4RC-AUR: QFP44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4RC-MU: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U4RC-MUR: QFN44, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 65;
|
|
n_interrupts = 43;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x87;
|
|
usbpid = 0x2ff4;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x52;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xfb;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--1111.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB646
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90USB646";
|
|
id = "usb646";
|
|
variants =
|
|
"AT90USB646: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB646-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB646-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB646-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB646-MUR: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 181;
|
|
n_interrupts = 38;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x82;
|
|
usbpid = 0x2ff9;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.xaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.xaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x9b;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf3;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB647
|
|
#------------------------------------------------------------
|
|
# identical to AT90USB646
|
|
|
|
part parent "usb646"
|
|
desc = "AT90USB647";
|
|
id = "usb647";
|
|
variants =
|
|
"AT90USB647: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB647-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB647-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB647-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB647-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 182;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB1286
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90USB1286";
|
|
id = "usb1286";
|
|
variants =
|
|
"AT90USB1286: QFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1286-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1286-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1286-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1286-MUR: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 184;
|
|
n_interrupts = 38;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0xB2;
|
|
# avr910_devcode = 0x43;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x97 0x82;
|
|
usbpid = 0x2ffb;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
rampz = 0x3b;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 8;
|
|
readsize = 256;
|
|
read = "1010.0000--xxxx.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--xxxx.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.aaaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 256;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--axxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf3;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--xxxx.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--xxxx.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB1287
|
|
#------------------------------------------------------------
|
|
# identical to AT90USB1286
|
|
|
|
part parent "usb1286"
|
|
desc = "AT90USB1287";
|
|
id = "usb1287";
|
|
variants =
|
|
"AT90USB1287: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1287-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1287-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1287-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB1287-MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 185;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB162
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90USB162";
|
|
id = "usb162";
|
|
variants =
|
|
"AT90USB162: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB162-16AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB162-16AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB162-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB162-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 178;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc6;
|
|
signature = 0x1e 0x94 0x82;
|
|
usbpid = 0x2ffa;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AT90USB82
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT90USB82";
|
|
id = "usb82";
|
|
variants =
|
|
"AT90USB82: QFN32, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB82-16MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"AT90USB82-16MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 174;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc6;
|
|
signature = 0x1e 0x93 0x82;
|
|
usbpid = 0x2ff7;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 128;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega32U2
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega32U2";
|
|
id = "m32u2";
|
|
variants =
|
|
"ATmega32U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega32U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 64;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc6;
|
|
signature = 0x1e 0x95 0x8a;
|
|
usbpid = 0x2ff0;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
num_pages = 256;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega16U2
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega16U2";
|
|
id = "m16u2";
|
|
variants =
|
|
"ATmega16U2-AU: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega16U2-MUR: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 56;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc6;
|
|
signature = 0x1e 0x94 0x89;
|
|
usbpid = 0x2fef;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega8U2
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega8U2";
|
|
id = "m8u2";
|
|
variants =
|
|
"ATmega8U2-AU: LQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8U2-AUR: TQFP32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8U2-MU: QFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega8U2-MUR: VQFN32, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 48;
|
|
n_interrupts = 29;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xc6;
|
|
signature = 0x1e 0x93 0x89;
|
|
usbpid = 0x2fee;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.aaaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.aaaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.aaaa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 8192;
|
|
page_size = 128;
|
|
num_pages = 64;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 6;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--xxxx.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x5e;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xd9;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xf4;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega165P
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega165P";
|
|
id = "m165p";
|
|
variants =
|
|
"ATmega165P: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165P-16AN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16ANR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16MN: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165P-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165PV-8AN: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PV-8ANR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PV-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PV-8AUR: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PV-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PV-8MUR: QFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 97;
|
|
n_interrupts = 22;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 256;
|
|
# stk500_devcode = 0x??;
|
|
# avr910_devcode = 0x??;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x94 0x07;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.00xa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.00xa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.00xa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
num_pages = 128;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--xxxa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.xxxx--xxaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.xxxx--xxaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--xxxa.aaaa--aaxx.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x0f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--0000.0000--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega165A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m165p"
|
|
desc = "ATmega165A";
|
|
id = "m165a";
|
|
variants =
|
|
"ATmega165A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165A-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega165A-MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165A-MUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 96;
|
|
signature = 0x1e 0x94 0x10;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega165
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m165p"
|
|
desc = "ATmega165";
|
|
id = "m165";
|
|
variants =
|
|
"ATmega165: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATmega165-16AI: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165-16MI: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165-16MU: VFQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega165V-8AI: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165V-8MI: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165V-8MU: VFQFN64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 95;
|
|
|
|
memory "eeprom"
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega165PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m165p"
|
|
desc = "ATmega165PA";
|
|
id = "m165pa";
|
|
variants =
|
|
"ATmega165PA: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PA-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PA-AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PA-MN: TQFP64, Fmax=16 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PA-MNR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega165PA-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 98;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega325
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega325";
|
|
id = "m325";
|
|
variants =
|
|
"ATmega325: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325-16MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325-16MUR: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 114;
|
|
n_interrupts = 22;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
# stk500_devcode = 0x??; # No STK500v1 support?
|
|
# avr910_devcode = 0x??; # Try the ATmega16 one
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x05;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000";
|
|
pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000";
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 4;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.00aa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.00aa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--0000.00aa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--0aaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--0aaa.aaaa--aaaa.aaaa--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.0000--0000.0000--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.1000--0000.0000--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.0100--0000.0000--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1110.0000--0000.0000--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--0000.0000--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--0000.0000--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega325A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega325A";
|
|
id = "m325a";
|
|
variants =
|
|
"ATmega325A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-AN: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-ANR: TQFP64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-AUR: TQFP64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-MN: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-MNR: VQFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-MU: QFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325A-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 115;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega325P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega325P";
|
|
id = "m325p";
|
|
variants =
|
|
"ATmega325P: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325P-20AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325P-20AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325P-20MU: MLF64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega325PV-10AU: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PV-10AUR: TQFP64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PV-10MU: MLF64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PV-10MUR: VQFN64, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 116;
|
|
signature = 0x1e 0x95 0x0d;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega325PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega325PA";
|
|
id = "m325pa";
|
|
variants =
|
|
"ATmega325PA: N/A, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PA-AU: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PA-AUR: TQFP64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PA-MU: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega325PA-MUR: VQFN64, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 117;
|
|
signature = 0x1e 0x95 0x0d;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega645
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega645";
|
|
id = "m645";
|
|
variants =
|
|
"ATmega645: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645-16AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega645-16AUR: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega645-16MU: MLF64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega645-16MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega645V-8AU: TQFP64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645V-8AUR: TQFP64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645V-8MU: MLF64, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645V-8MUR: VQFN64, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_JTAG;
|
|
mcuid = 132;
|
|
n_interrupts = 22;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 1024;
|
|
# stk500_devcode = 0x??; # No STK500v1 support?
|
|
# avr910_devcode = 0x??; # Try the ATmega16 one
|
|
avr910_devcode = 0x74;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xd7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x96 0x05;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
chip_erase = "1010.1100--1000.0000--0000.0000--0000.0000";
|
|
pgm_enable = "1010.1100--0101.0011--0000.0000--0000.0000";
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 8;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--0000.0aaa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--0000.0aaa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.0aaa--iiii.iiii";
|
|
writepage = "1100.0010--0000.0aaa--aaaa.a000--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
num_pages = 256;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 128;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--aaaa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--0000.0000--aaaa.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--0000.0000--aaaa.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--aaaa.aaaa--aaaa.aaaa--0000.0000";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.0000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.0000--0000.0000--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0x99;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.1000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.1000--0000.0000--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.0000--0000.1000--0000.0000--oooo.oooo";
|
|
write = "1010.1100--1010.0100--0000.0000--1111.1iii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
min_write_delay = 9000;
|
|
max_write_delay = 9000;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1110.0000--0000.0000--11ii.iiii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--0000.0000--0000.00aa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--0000.0000--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega645A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m645"
|
|
desc = "ATmega645A";
|
|
id = "m645a";
|
|
variants =
|
|
"ATmega645A: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645A-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645A-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 133;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega645P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m645"
|
|
desc = "ATmega645P";
|
|
id = "m645p";
|
|
variants =
|
|
"ATmega645P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645P-AU: TQFP64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645P-AUR: TQFP64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645P-MU: QFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega645P-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 134;
|
|
signature = 0x1e 0x96 0x0d;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3250
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega3250";
|
|
id = "m3250";
|
|
variants =
|
|
"ATmega3250: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3250-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3250-16AUR: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3250V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 146;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x06;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3250A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega3250A";
|
|
id = "m3250a";
|
|
variants =
|
|
"ATmega3250A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 147;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x06;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3250P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega3250P";
|
|
id = "m3250p";
|
|
variants =
|
|
"ATmega3250P: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250P-20AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3250P-20AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega3250PV-10AU: TQFP100, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250PV-10AUR: TQFP100, Fmax=10 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 148;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x0e;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3250PA
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m325"
|
|
desc = "ATmega3250PA";
|
|
id = "m3250pa";
|
|
variants =
|
|
"ATmega3250PA: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250PA-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3250PA-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 149;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x95 0x0e;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6450
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m645"
|
|
desc = "ATmega6450";
|
|
id = "m6450";
|
|
variants =
|
|
"ATmega6450: N/A, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450-16AU: TQFP100, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega6450-16AUR: TQFP100, Fmax=16 MHz, T=[N/A, N/A], Vcc=[2.7 V, 5.5 V]",
|
|
"ATmega6450V-8AU: TQFP100, Fmax=8 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450V-8AUR: TQFP100, Fmax=8 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 154;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x06;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6450A
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m645"
|
|
desc = "ATmega6450A";
|
|
id = "m6450a";
|
|
variants =
|
|
"ATmega6450A: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450A-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450A-AUR: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 155;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x06;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega6450P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m645"
|
|
desc = "ATmega6450P";
|
|
id = "m6450p";
|
|
variants =
|
|
"ATmega6450P: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450P-AU: TQFP100, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega6450P-AUR: TQFP100, Fmax=20 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 156;
|
|
n_interrupts = 25;
|
|
signature = 0x1e 0x96 0x0e;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR XMEGA family common values
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AVR XMEGA family common values";
|
|
id = ".xmega";
|
|
prog_modes = PM_SPM | PM_PDI;
|
|
n_boot_sections = 1;
|
|
mcu_base = 0x0090;
|
|
nvm_base = 0x01c0;
|
|
autobaud_sync = 0x20;
|
|
|
|
memory "fuse1"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x8f0021;
|
|
;
|
|
|
|
memory "fuse2"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x63;
|
|
offset = 0x8f0022;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
offset = 0x8f0024;
|
|
;
|
|
|
|
memory "fuse5"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
offset = 0x8f0025;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0027;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
offset = 0x1000090;
|
|
;
|
|
|
|
memory "prodsig"
|
|
size = 50;
|
|
page_size = 50;
|
|
offset = 0x8e0200;
|
|
readsize = 50;
|
|
;
|
|
|
|
memory "data"
|
|
# SRAM, only used to supply the offset
|
|
offset = 0x1000000;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR XMEGA-E family common values
|
|
#------------------------------------------------------------
|
|
|
|
# Fuse for fault detection action on Px0..5 (unique to XMEGA-E)
|
|
|
|
part parent ".xmega"
|
|
desc = "AVR XMEGA-E family common values";
|
|
id = ".xmega-e";
|
|
|
|
memory "fuse6"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0026;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR XMEGA-A family common values
|
|
#------------------------------------------------------------
|
|
|
|
# JTAG user ID (unique to XMEGA-A and XMEGA-B)
|
|
|
|
part parent ".xmega"
|
|
desc = "AVR XMEGA-A family common values";
|
|
id = ".xmega-a";
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse4"
|
|
bitmask = 0x1f;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega16A4U
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-a"
|
|
desc = "ATxmega16A4U";
|
|
id = "x16a4u";
|
|
variants =
|
|
"ATxmega16A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega16A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 232;
|
|
n_interrupts = 127;
|
|
boot_section_size = 4096;
|
|
signature = 0x1e 0x94 0x41;
|
|
usbpid = 0x2fe3;
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x5000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x4000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x803000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x804000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 256;
|
|
page_size = 256;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega16C4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x16a4u"
|
|
desc = "ATxmega16C4";
|
|
id = "x16c4";
|
|
variants =
|
|
"ATxmega16C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 233;
|
|
signature = 0x1e 0x94 0x43;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega16D4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x16a4u"
|
|
desc = "ATxmega16D4";
|
|
id = "x16d4";
|
|
variants =
|
|
"ATxmega16D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-AUR: TQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 234;
|
|
n_interrupts = 91;
|
|
signature = 0x1e 0x94 0x42;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega16A4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x16a4u"
|
|
desc = "ATxmega16A4";
|
|
id = "x16a4";
|
|
variants =
|
|
"ATxmega16A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 231;
|
|
n_interrupts = 94;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32A4U
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-a"
|
|
desc = "ATxmega32A4U";
|
|
id = "x32a4u";
|
|
variants =
|
|
"ATxmega32A4U-AN: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-ANR: TQFP44, Fmax=32 MHz, T=[0 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32A4U-M7: VQFN44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 239;
|
|
n_interrupts = 127;
|
|
boot_section_size = 4096;
|
|
signature = 0x1e 0x95 0x41;
|
|
usbpid = 0x2fe4;
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x9000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x8000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x807000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x808000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 256;
|
|
page_size = 256;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32C4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x32a4u"
|
|
desc = "ATxmega32C4";
|
|
id = "x32c4";
|
|
variants =
|
|
"ATxmega32C4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32C4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 240;
|
|
signature = 0x1e 0x95 0x44;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32D4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x32a4u"
|
|
desc = "ATxmega32D4";
|
|
id = "x32d4";
|
|
variants =
|
|
"ATxmega32D4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 241;
|
|
n_interrupts = 91;
|
|
signature = 0x1e 0x95 0x42;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32A4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x32a4u"
|
|
desc = "ATxmega32A4";
|
|
id = "x32a4";
|
|
variants =
|
|
"ATxmega32A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-CUR: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-MHR: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32A4-MU: VQFN44, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 238;
|
|
n_interrupts = 94;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A4U
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-a"
|
|
desc = "ATxmega64A4U";
|
|
id = "x64a4u";
|
|
variants =
|
|
"ATxmega64A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-CUR: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A4U-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 252;
|
|
n_interrupts = 127;
|
|
boot_section_size = 4096;
|
|
signature = 0x1e 0x96 0x46;
|
|
usbpid = 0x2fe5;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x11000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x10000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x80f000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x810000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 256;
|
|
page_size = 256;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x32a4u"
|
|
desc = "ATxmega32C3";
|
|
id = "x32c3";
|
|
variants =
|
|
"ATxmega32C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 236;
|
|
signature = 0x1e 0x95 0x49;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x32a4u"
|
|
desc = "ATxmega32D3";
|
|
id = "x32d3";
|
|
variants =
|
|
"ATxmega32D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 237;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x95 0x4a;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a4u"
|
|
desc = "ATxmega64C3";
|
|
id = "x64c3";
|
|
variants =
|
|
"ATxmega64C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64C3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega64C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64C3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 249;
|
|
signature = 0x1e 0x96 0x49;
|
|
usbpid = 0x2fd6;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a4u"
|
|
desc = "ATxmega64D3";
|
|
id = "x64d3";
|
|
variants =
|
|
"ATxmega64D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega64D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 250;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x96 0x4a;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64D4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a4u"
|
|
desc = "ATxmega64D4";
|
|
id = "x64d4";
|
|
variants =
|
|
"ATxmega64D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-AU: QFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64D4-MHR: VQFN44, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 253;
|
|
n_interrupts = 91;
|
|
signature = 0x1e 0x96 0x47;
|
|
|
|
memory "fuse0" = NULL;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
bitmask = 0x1e;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a4u"
|
|
desc = "ATxmega64A1";
|
|
id = "x64a1";
|
|
variants =
|
|
"ATxmega64A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 243;
|
|
n_interrupts = 125;
|
|
signature = 0x1e 0x96 0x4e;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A1U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64A1U";
|
|
id = "x64a1u";
|
|
variants =
|
|
"ATxmega64A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1U-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega64A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A1U-CUR: TFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 244;
|
|
n_interrupts = 127;
|
|
usbpid = 0x2fe8;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64A3";
|
|
id = "x64a3";
|
|
variants =
|
|
"ATxmega64A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 246;
|
|
n_interrupts = 122;
|
|
signature = 0x1e 0x96 0x42;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A3U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64A3U";
|
|
id = "x64a3u";
|
|
variants =
|
|
"ATxmega64A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3U-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 247;
|
|
n_interrupts = 127;
|
|
signature = 0x1e 0x96 0x42;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64A4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64A4";
|
|
id = "x64a4";
|
|
variants =
|
|
"ATxmega64A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 251;
|
|
signature = 0x1e 0x96 0x46;
|
|
|
|
memory "fuse0"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64B1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64B1";
|
|
id = "x64b1";
|
|
variants =
|
|
"ATxmega64B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64B1-CUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 245;
|
|
n_interrupts = 81;
|
|
signature = 0x1e 0x96 0x52;
|
|
usbpid = 0x2fe1;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega64B3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x64a1"
|
|
desc = "ATxmega64B3";
|
|
id = "x64b3";
|
|
variants =
|
|
"ATxmega64B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64B3-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega64B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 248;
|
|
n_interrupts = 54;
|
|
signature = 0x1e 0x96 0x51;
|
|
usbpid = 0x2fdf;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega128C3";
|
|
id = "x128c3";
|
|
variants =
|
|
"ATxmega128C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 261;
|
|
n_interrupts = 127;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x97 0x52;
|
|
usbpid = 0x2fd7;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x22000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x81e000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x820000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 512;
|
|
page_size = 512;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128c3"
|
|
desc = "ATxmega128D3";
|
|
id = "x128d3";
|
|
variants =
|
|
"ATxmega128D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 262;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x97 0x48;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128D4
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128c3"
|
|
desc = "ATxmega128D4";
|
|
id = "x128d4";
|
|
variants =
|
|
"ATxmega128D4-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-CU: VFBGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-CUR: VFBGA49, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega128D4-M7: VFBGA49, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-MH: QFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128D4-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 265;
|
|
n_interrupts = 91;
|
|
signature = 0x1e 0x97 0x47;
|
|
|
|
memory "flash"
|
|
page_size = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128c3"
|
|
desc = "ATxmega128A1";
|
|
id = "x128a1";
|
|
variants =
|
|
"ATxmega128A1: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1-CUR: BGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 254;
|
|
n_interrupts = 125;
|
|
signature = 0x1e 0x97 0x4c;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A1 revision D
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128a1"
|
|
desc = "ATxmega128A1revD";
|
|
id = "x128a1d";
|
|
mcuid = 255;
|
|
signature = 0x1e 0x97 0x41;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A1U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128a1"
|
|
desc = "ATxmega128A1U";
|
|
id = "x128a1u";
|
|
variants =
|
|
"ATxmega128A1U-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega128A1U-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1U-AUR: N/A, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1U-C7U: VFBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1U-C7UR: VFBGA100, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega128A1U-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A1U-CUR: CBGA100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 256;
|
|
n_interrupts = 127;
|
|
usbpid = 0x2fed;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128a1"
|
|
desc = "ATxmega128A3";
|
|
id = "x128a3";
|
|
variants =
|
|
"ATxmega128A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 258;
|
|
n_interrupts = 122;
|
|
signature = 0x1e 0x97 0x42;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A3U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128a1"
|
|
desc = "ATxmega128A3U";
|
|
id = "x128a3u";
|
|
variants =
|
|
"ATxmega128A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 259;
|
|
n_interrupts = 127;
|
|
signature = 0x1e 0x97 0x42;
|
|
usbpid = 0x2fe6;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x63;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A4
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega128A4";
|
|
id = "x128a4";
|
|
variants =
|
|
"ATxmega128A4: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 263;
|
|
signature = 0x1e 0x97 0x46;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x22000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 512;
|
|
offset = 0x81f000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x820000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 512;
|
|
page_size = 512;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128A4U
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-a"
|
|
desc = "ATxmega128A4U";
|
|
id = "x128a4u";
|
|
variants =
|
|
"ATxmega128A4U-AN: TQFP44, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-AU: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-AUR: TQFP44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-CU: BGA49, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-M7: VQFN44PW, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-MH: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128A4U-MHR: VQFN44, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 264;
|
|
n_interrupts = 127;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x97 0x46;
|
|
usbpid = 0x2fde;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x22000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 256;
|
|
offset = 0x81f000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 256;
|
|
offset = 0x820000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 256;
|
|
page_size = 256;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128B1
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega128B1";
|
|
id = "x128b1";
|
|
variants =
|
|
"ATxmega128B1-AN: TQFP100, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B1-AUR: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B1-CU: VFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B1-CUR: TFBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 257;
|
|
n_interrupts = 81;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x97 0x4d;
|
|
usbpid = 0x2fea;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x22000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x20000;
|
|
page_size = 256;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 8192;
|
|
page_size = 256;
|
|
offset = 0x81e000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 256;
|
|
offset = 0x820000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse4"
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 256;
|
|
page_size = 256;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega128B3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x128b1"
|
|
desc = "ATxmega128B3";
|
|
id = "x128b3";
|
|
variants =
|
|
"ATxmega128B3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B3-MCU: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B3-MCUR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega128B3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 260;
|
|
n_interrupts = 54;
|
|
signature = 0x1e 0x97 0x4b;
|
|
usbpid = 0x2fe0;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega192C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega192C3";
|
|
id = "x192c3";
|
|
variants =
|
|
"ATxmega192C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 269;
|
|
n_interrupts = 127;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x97 0x51;
|
|
|
|
# usbpid = 0x2f??;
|
|
|
|
memory "eeprom"
|
|
size = 2048;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x32000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x30000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x82e000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x830000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 512;
|
|
page_size = 512;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega192D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x192c3"
|
|
desc = "ATxmega192D3";
|
|
id = "x192d3";
|
|
variants =
|
|
"ATxmega192D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 270;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x97 0x49;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega192A1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x192c3"
|
|
desc = "ATxmega192A1";
|
|
id = "x192a1";
|
|
variants =
|
|
"ATxmega192A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 266;
|
|
signature = 0x1e 0x97 0x4e;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega192A3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x192c3"
|
|
desc = "ATxmega192A3";
|
|
id = "x192a3";
|
|
variants =
|
|
"ATxmega192A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 267;
|
|
n_interrupts = 122;
|
|
signature = 0x1e 0x97 0x44;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0xff;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega192A3U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x192a1"
|
|
desc = "ATxmega192A3U";
|
|
id = "x192a3u";
|
|
variants =
|
|
"ATxmega192A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3U-ANR: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega192A3U-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega192A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 268;
|
|
signature = 0x1e 0x97 0x44;
|
|
usbpid = 0x2fe7;
|
|
|
|
memory "fuse0"
|
|
initval = 0xff;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = 0x00;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = 0xff;
|
|
bitmask = 0x63;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega256C3";
|
|
id = "x256c3";
|
|
variants =
|
|
"ATxmega256C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256C3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256C3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256C3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 276;
|
|
n_interrupts = 127;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x98 0x46;
|
|
usbpid = 0x2fda;
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x42000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x40000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x83e000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x840000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 512;
|
|
page_size = 512;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256c3"
|
|
desc = "ATxmega256D3";
|
|
id = "x256d3";
|
|
variants =
|
|
"ATxmega256D3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 277;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x98 0x44;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256A1
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256c3"
|
|
desc = "ATxmega256A1";
|
|
id = "x256a1";
|
|
variants =
|
|
"ATxmega256A1-AU: TQFP100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A1-CU: CBGA100, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
prog_modes = PM_SPM | PM_PDI | PM_XMEGAJTAG;
|
|
mcuid = 271;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
offset = 0x8f0020;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256A3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256a1"
|
|
desc = "ATxmega256A3";
|
|
id = "x256a3";
|
|
variants =
|
|
"ATxmega256A3: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 272;
|
|
n_interrupts = 122;
|
|
signature = 0x1e 0x98 0x42;
|
|
|
|
memory "fuse0"
|
|
initval = 0xff;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = 0x00;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = 0xff;
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256A3U
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256a1"
|
|
desc = "ATxmega256A3U";
|
|
id = "x256a3u";
|
|
variants =
|
|
"ATxmega256A3U-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3U-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega256A3U-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3U-AUR: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3U-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3U-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3U-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 275;
|
|
signature = 0x1e 0x98 0x42;
|
|
usbpid = 0x2fec;
|
|
|
|
memory "fuse0"
|
|
initval = 0xff;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = 0x00;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = 0xff;
|
|
bitmask = 0x63;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256A3B
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256a1"
|
|
desc = "ATxmega256A3B";
|
|
id = "x256a3b";
|
|
variants =
|
|
"ATxmega256A3B: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3B-AU: TQFP64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3B-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3B-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3B-MU: QFN64, Fmax=32 MHz, T=[N/A, N/A], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 273;
|
|
n_interrupts = 122;
|
|
signature = 0x1e 0x98 0x43;
|
|
|
|
memory "fuse0"
|
|
initval = 0xff;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = 0x00;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = 0xff;
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega256A3BU
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x256a1"
|
|
desc = "ATxmega256A3BU";
|
|
id = "x256a3bu";
|
|
variants =
|
|
"ATxmega256A3BU-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3BU-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega256A3BU-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega256A3BU-MHR: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 274;
|
|
signature = 0x1e 0x98 0x43;
|
|
usbpid = 0x2fe2;
|
|
|
|
memory "fuse0"
|
|
initval = 0xff;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = 0x00;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = 0xff;
|
|
bitmask = 0x63;
|
|
;
|
|
|
|
memory "fuse4"
|
|
initval = 0xfe;
|
|
bitmask = 0x1f;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xff;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega384C3
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega"
|
|
desc = "ATxmega384C3";
|
|
id = "x384c3";
|
|
variants =
|
|
"ATxmega384C3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384C3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384C3-AUR: TQFP64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega384C3-M7: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384C3-MH: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384C3-MHR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 278;
|
|
n_interrupts = 127;
|
|
boot_section_size = 8192;
|
|
signature = 0x1e 0x98 0x45;
|
|
usbpid = 0x2fdb;
|
|
|
|
memory "eeprom"
|
|
size = 4096;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x62000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x60000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x85e000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 8192;
|
|
page_size = 512;
|
|
offset = 0x860000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 512;
|
|
page_size = 512;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega384D3
|
|
#------------------------------------------------------------
|
|
|
|
part parent "x384c3"
|
|
desc = "ATxmega384D3";
|
|
id = "x384d3";
|
|
variants =
|
|
"ATxmega384D3-AN: TQFP64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384D3-AU: TQFP64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384D3-MH: VQFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384D3-MHR: QFN64, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega384D3-MN: QFN64, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 279;
|
|
n_interrupts = 114;
|
|
signature = 0x1e 0x98 0x47;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega8E5
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-e"
|
|
desc = "ATxmega8E5";
|
|
id = "x8e5";
|
|
variants =
|
|
"ATxmega8E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega8E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega8E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega8E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 230;
|
|
n_interrupts = 43;
|
|
boot_section_size = 2048;
|
|
signature = 0x1e 0x93 0x41;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x2800;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 8192;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 2048;
|
|
page_size = 128;
|
|
offset = 0x801800;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 2048;
|
|
page_size = 128;
|
|
offset = 0x802000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 128;
|
|
page_size = 128;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega16E5
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-e"
|
|
desc = "ATxmega16E5";
|
|
id = "x16e5";
|
|
variants =
|
|
"ATxmega16E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-ANR: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega16E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega16E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 235;
|
|
n_interrupts = 43;
|
|
boot_section_size = 4096;
|
|
signature = 0x1e 0x94 0x45;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x5000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x4000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 128;
|
|
offset = 0x803000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 4096;
|
|
page_size = 128;
|
|
offset = 0x804000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 128;
|
|
page_size = 128;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATxmega32E5
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".xmega-e"
|
|
desc = "ATxmega32E5";
|
|
id = "x32e5";
|
|
variants =
|
|
"ATxmega32E5-AN: TQFP32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-ANR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32E5-AU: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-AUR: TQFP32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-M4N: UQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-M4U: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-M4UR: UQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-MN: VQFN32, Fmax=32 MHz, T=[-40 C, 105 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-MNR: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"ATxmega32E5-MU: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]",
|
|
"ATxmega32E5-MUR: VQFN32, Fmax=32 MHz, T=[-40 C, 85 C], Vcc=[1.6 V, 3.6 V]";
|
|
mcuid = 242;
|
|
n_interrupts = 43;
|
|
boot_section_size = 4096;
|
|
signature = 0x1e 0x95 0x4c;
|
|
|
|
memory "eeprom"
|
|
size = 1024;
|
|
page_size = 32;
|
|
offset = 0x8c0000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x9000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "application"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "apptable"
|
|
size = 4096;
|
|
page_size = 128;
|
|
offset = 0x807000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "boot"
|
|
size = 4096;
|
|
page_size = 128;
|
|
offset = 0x808000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x43;
|
|
;
|
|
|
|
memory "usersig"
|
|
size = 128;
|
|
page_size = 128;
|
|
offset = 0x8e0400;
|
|
readsize = 256;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32UC3A0512
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AT32UC3A0512";
|
|
id = "uc3a0512";
|
|
variants =
|
|
"AT32UC3A0512-ALTR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-ALTT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-ALTTA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-ALUR: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-CTUR: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512-CTUT: TFBGA144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512AU-ALTRA: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]",
|
|
"AT32UC3A0512AU-ALUT: LQFP144, Fmax=66 MHz, T=[-40 C, 85 C], Vcc=[1.65 V, 3.6 V]";
|
|
prog_modes = PM_AVR32JTAG | PM_aWire;
|
|
signature = 0xed 0xc0 0x3f;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x80000; # could be set dynamicly
|
|
page_size = 512; # bytes
|
|
num_pages = 1024; # could be set dynamicly
|
|
offset = 0x80000000;
|
|
readsize = 512; # bytes
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# deprecated, use 'uc3a0512'
|
|
#------------------------------------------------------------
|
|
|
|
part parent "uc3a0512"
|
|
desc = "deprecated, use 'uc3a0512'";
|
|
id = "ucr2";
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1634
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATtiny1634";
|
|
id = "t1634";
|
|
variants =
|
|
"ATtiny1634: N/A, Fmax=N/A, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-MN: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-MNR: WQFN20, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-MUR: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
prog_modes = PM_SPM | PM_ISP | PM_HVPP | PM_debugWIRE;
|
|
mcuid = 40;
|
|
n_interrupts = 28;
|
|
n_page_erase = 4;
|
|
stk500_devcode = 0x86;
|
|
chip_erase_delay = 9000;
|
|
pagel = 0xb3;
|
|
bs2 = 0xb1;
|
|
# avr910_devcode = 0x??;
|
|
signature = 0x1e 0x94 0x12;
|
|
reset = io;
|
|
timeout = 200;
|
|
stabdelay = 100;
|
|
cmdexedelay = 25;
|
|
synchloops = 32;
|
|
pollindex = 3;
|
|
pollvalue = 0x53;
|
|
predelay = 1;
|
|
postdelay = 1;
|
|
pollmethod = 1;
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
flash_instr = 0xb6, 0x01, 0x11;
|
|
eeprom_instr =
|
|
0xbd, 0xf2, 0xbd, 0xe1, 0xbb, 0xcf, 0xb4, 0x00,
|
|
0xbe, 0x01, 0xb6, 0x01, 0xbc, 0x00, 0xbb, 0xbf,
|
|
0x99, 0xf9, 0xbb, 0xaf;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 5;
|
|
togglevtg = 1;
|
|
poweroffdelay = 15;
|
|
resetdelayms = 1;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x2e;
|
|
spmcr = 0x57;
|
|
eecr = 0x3c;
|
|
ocdrev = 1;
|
|
chip_erase = "1010.1100--100x.xxxx--xxxx.xxxx--xxxx.xxxx";
|
|
pgm_enable = "1010.1100--0101.0011--xxxx.xxxx--xxxx.xxxx";
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 4;
|
|
min_write_delay = 3600;
|
|
max_write_delay = 3600;
|
|
mode = 0x41;
|
|
delay = 20;
|
|
blocksize = 4;
|
|
readsize = 256;
|
|
read = "1010.0000--000x.xxxa--aaaa.aaaa--oooo.oooo";
|
|
write = "1100.0000--000x.xxxa--aaaa.aaaa--iiii.iiii";
|
|
loadpage_lo = "1100.0001--0000.0000--0000.00aa--iiii.iiii";
|
|
writepage = "1100.0010--00xx.xxxa--aaaa.aa00--xxxx.xxxx";
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0x4000;
|
|
page_size = 32;
|
|
num_pages = 512;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
mode = 0x41;
|
|
delay = 10;
|
|
blocksize = 32;
|
|
readsize = 256;
|
|
read_lo = "0010.0000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
read_hi = "0010.1000--00aa.aaaa--aaaa.aaaa--oooo.oooo";
|
|
loadpage_lo = "0100.0000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
loadpage_hi = "0100.1000--000x.xxxx--xxxx.aaaa--iiii.iiii";
|
|
writepage = "0100.1100--00aa.aaaa--aaaa.xxxx--xxxx.xxxx";
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0x62;
|
|
bitmask = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xdf;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii";
|
|
;
|
|
|
|
memory "efuse"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x1f;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--1010.0100--xxxx.xxxx--xxxi.iiii";
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
min_write_delay = 4500;
|
|
max_write_delay = 4500;
|
|
read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo";
|
|
write = "1010.1100--111x.xxxx--xxxx.xxxx--1111.11ii";
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
read = "0011.0000--000x.xxxx--xxxx.xxaa--oooo.oooo";
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
read = "0011.1000--000x.xxxx--0000.0000--oooo.oooo";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1634R
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t1634"
|
|
desc = "ATtiny1634R";
|
|
id = "t1634r";
|
|
variants =
|
|
"ATtiny1634R-MU: QFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634R-MUR: WQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634R-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1634R-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 41;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# Common values for reduced core tinys (4/5/9/10/20/40)
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "Common values for reduced core tinys";
|
|
id = ".reduced_core_tiny";
|
|
prog_modes = PM_TPI;
|
|
|
|
memory "fuse"
|
|
size = 1;
|
|
page_size = 16;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
offset = 0x3f40;
|
|
blocksize = 4;
|
|
;
|
|
|
|
memory "lockbits"
|
|
size = 1;
|
|
page_size = 16;
|
|
initval = 0xff;
|
|
bitmask = 0x03;
|
|
offset = 0x3f00;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
page_size = 16;
|
|
offset = 0x3fc0;
|
|
;
|
|
|
|
memory "calibration"
|
|
size = 1;
|
|
page_size = 16;
|
|
offset = 0x3f80;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny4
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny4";
|
|
id = "t4";
|
|
variants =
|
|
"ATtiny4-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny4-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 0;
|
|
n_interrupts = 10;
|
|
signature = 0x1e 0x8f 0x0a;
|
|
|
|
memory "flash"
|
|
size = 512;
|
|
page_size = 16;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny5
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t4"
|
|
desc = "ATtiny5";
|
|
id = "t5";
|
|
variants =
|
|
"ATtiny5-MAHR: USON8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny5-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny5-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 1;
|
|
n_interrupts = 11;
|
|
signature = 0x1e 0x8f 0x09;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny9
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny9";
|
|
id = "t9";
|
|
variants =
|
|
"ATtiny9-MAHR: DFN8, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny9-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny9-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 2;
|
|
n_interrupts = 10;
|
|
signature = 0x1e 0x90 0x08;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
page_size = 16;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny10
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t9"
|
|
desc = "ATtiny10";
|
|
id = "t10";
|
|
variants =
|
|
"ATtiny10-MAHR: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny10-TS8R: SOT23-6, Fmax=10 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny10-TSHR: SOT23-6, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 3;
|
|
n_interrupts = 11;
|
|
signature = 0x1e 0x90 0x03;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny20
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny20";
|
|
id = "t20";
|
|
variants =
|
|
"ATtiny20-CCU: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-CCUR: UFBGA15, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-SSU: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-SSUR: SOIC14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-UUR: WLCSP12, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-XU: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny20-XUR: TSSOP14, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 4;
|
|
n_interrupts = 17;
|
|
signature = 0x1e 0x91 0x0f;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 16;
|
|
n_word_writes = 2;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
|
|
memory "fuse"
|
|
bitmask = 0x77;
|
|
n_word_writes = 2;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny40
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny40";
|
|
id = "t40";
|
|
variants =
|
|
"ATtiny40-MMH: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny40-MMHR: VQFN20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny40-SU: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny40-SUR: SOIC20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny40-XU: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny40-XUR: TSSOP20, Fmax=12 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 5;
|
|
n_interrupts = 18;
|
|
signature = 0x1e 0x92 0x0e;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
n_word_writes = 4;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
|
|
memory "fuse"
|
|
bitmask = 0x77;
|
|
n_word_writes = 4;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny102
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny102";
|
|
id = "t102";
|
|
variants =
|
|
"ATtiny102-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102F-M7R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102F-M8R: UDFN8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102F-SSFR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny102F-SSNR: SOIC8, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 6;
|
|
n_interrupts = 16;
|
|
signature = 0x1e 0x90 0x0c;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
page_size = 16;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
|
|
memory "fuse"
|
|
bitmask = 0x0f;
|
|
;
|
|
|
|
memory "sigrow"
|
|
size = 16;
|
|
page_size = 16;
|
|
offset = 0x3fc6;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny104
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".reduced_core_tiny"
|
|
desc = "ATtiny104";
|
|
id = "t104";
|
|
variants =
|
|
"ATtiny104-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny104-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny104F-SSFR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny104F-SSNR: SOIC14, Fmax=12 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 7;
|
|
n_interrupts = 16;
|
|
signature = 0x1e 0x90 0x0b;
|
|
|
|
memory "flash"
|
|
size = 1024;
|
|
page_size = 16;
|
|
offset = 0x4000;
|
|
blocksize = 128;
|
|
;
|
|
|
|
memory "fuse"
|
|
bitmask = 0x0f;
|
|
;
|
|
|
|
memory "sigrow"
|
|
size = 16;
|
|
page_size = 16;
|
|
offset = 0x3fc6;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega406
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "ATmega406";
|
|
id = "m406";
|
|
variants =
|
|
"ATmega406: N/A, Fmax=1 MHz, T=[N/A, N/A], Vcc=[3.3 V, 3.3 V]",
|
|
"ATmega406-1AAU: LQFP48, Fmax=1 MHz, T=[-30 C, 85 C], Vcc=[4 V, 25 V]";
|
|
prog_modes = PM_SPM | PM_HVPP | PM_JTAG;
|
|
mcuid = 125;
|
|
n_interrupts = 23;
|
|
n_boot_sections = 4;
|
|
boot_section_size = 512;
|
|
# STK500 parameters (parallel programming IO lines)
|
|
pagel = 0xa7;
|
|
bs2 = 0xa0;
|
|
signature = 0x1e 0x95 0x07;
|
|
reset = io;
|
|
serial = no;
|
|
# STK500v2 HV programming parameters, from XML
|
|
pp_controlstack =
|
|
0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
|
|
0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
|
|
0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
|
|
0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
|
|
hventerstabdelay = 100;
|
|
latchcycles = 6;
|
|
hvleavestabdelay = 15;
|
|
resetdelay = 15;
|
|
chiperasepolltimeout = 10;
|
|
programfusepolltimeout = 5;
|
|
programlockpolltimeout = 5;
|
|
idr = 0x31;
|
|
spmcr = 0x57;
|
|
eecr = 0x3f;
|
|
ocdrev = 3;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 4;
|
|
num_pages = 128;
|
|
blocksize = 4;
|
|
readsize = 4;
|
|
;
|
|
|
|
memory "flash"
|
|
paged = yes;
|
|
size = 0xa000;
|
|
page_size = 128;
|
|
num_pages = 320;
|
|
blocksize = 128;
|
|
readsize = 128;
|
|
;
|
|
|
|
memory "lfuse"
|
|
size = 1;
|
|
initval = 0xcd;
|
|
;
|
|
|
|
memory "hfuse"
|
|
size = 1;
|
|
initval = 0xfe;
|
|
bitmask = 0x03;
|
|
;
|
|
|
|
memory "lockbits"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x3f;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR8X family common values
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AVR8X family common values";
|
|
id = ".avr8x";
|
|
prog_modes = PM_SPM | PM_UPDI;
|
|
n_boot_sections = 1;
|
|
boot_section_size = 256;
|
|
nvm_base = 0x1000;
|
|
ocd_base = 0x0f80;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1280;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "wdtcfg"
|
|
alias "fuse0";
|
|
;
|
|
|
|
memory "fuse1"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1281;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "bodcfg"
|
|
alias "fuse1";
|
|
;
|
|
|
|
memory "fuse2"
|
|
size = 1;
|
|
initval = 0x7e;
|
|
bitmask = 0x83;
|
|
offset = 0x1282;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osccfg"
|
|
alias "fuse2";
|
|
;
|
|
|
|
memory "fuse5"
|
|
size = 1;
|
|
initval = 0xf6;
|
|
bitmask = 0xcd;
|
|
offset = 0x1285;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "syscfg0"
|
|
alias "fuse5";
|
|
;
|
|
|
|
memory "fuse6"
|
|
size = 1;
|
|
initval = 0xff;
|
|
bitmask = 0x07;
|
|
offset = 0x1286;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "syscfg1"
|
|
alias "fuse6";
|
|
;
|
|
|
|
memory "fuse7"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1287;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "append"
|
|
alias "fuse7";
|
|
;
|
|
|
|
memory "codesize"
|
|
alias "fuse7";
|
|
;
|
|
|
|
memory "fuse8"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1288;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "bootend"
|
|
alias "fuse8";
|
|
;
|
|
|
|
memory "bootsize"
|
|
alias "fuse8";
|
|
;
|
|
|
|
memory "fuses"
|
|
size = 9;
|
|
page_size = 10;
|
|
offset = 0x1280;
|
|
readsize = 10;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 1;
|
|
offset = 0x128a;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tempsense"
|
|
size = 2;
|
|
offset = 0x1120;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
offset = 0x1100;
|
|
readsize = 3;
|
|
;
|
|
|
|
memory "prodsig"
|
|
size = 61;
|
|
page_size = 61;
|
|
offset = 0x1103;
|
|
readsize = 61;
|
|
;
|
|
|
|
memory "sernum"
|
|
size = 10;
|
|
offset = 0x1104;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osccal16"
|
|
size = 2;
|
|
offset = 0x1118;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osccal20"
|
|
size = 2;
|
|
offset = 0x111a;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osc16err"
|
|
size = 2;
|
|
offset = 0x1122;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osc20err"
|
|
size = 2;
|
|
offset = 0x1124;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "data"
|
|
# SRAM, only used to supply the offset
|
|
offset = 0x1000000;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR8X tiny family common values
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x"
|
|
desc = "AVR8X tiny family common values";
|
|
id = ".avr8x_tiny";
|
|
family_id = "tinyAVR";
|
|
# Shared UPDI pin, HV on UPDI pin
|
|
hvupdi_variant = 0;
|
|
|
|
memory "userrow"
|
|
size = 32;
|
|
page_size = 32;
|
|
offset = 0x1300;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
alias "userrow";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR8X mega family common values
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x"
|
|
desc = "AVR8X mega family common values";
|
|
id = ".avr8x_mega";
|
|
family_id = "megaAVR";
|
|
# Dedicated UPDI pin, no HV
|
|
hvupdi_variant = 1;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xc9;
|
|
;
|
|
|
|
memory "userrow"
|
|
size = 64;
|
|
page_size = 64;
|
|
offset = 0x1300;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "usersig"
|
|
alias "userrow";
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny202
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny202";
|
|
id = "t202";
|
|
variants =
|
|
"ATtiny202-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny202-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny202-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny202-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 280;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x91 0x23;
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny204
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny204";
|
|
id = "t204";
|
|
variants =
|
|
"ATtiny204-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny204-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny204-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny204-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 281;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x91 0x22;
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny402
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny402";
|
|
id = "t402";
|
|
variants =
|
|
"ATtiny402-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny402-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny402-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny402-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 284;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x27;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny404
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny404";
|
|
id = "t404";
|
|
variants =
|
|
"ATtiny404-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny404-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny404-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny404-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 285;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x26;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny406
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny406";
|
|
id = "t406";
|
|
variants =
|
|
"ATtiny406-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny406-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny406-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny406-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny406-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny406-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 286;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x25;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny804
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny804";
|
|
id = "t804";
|
|
variants =
|
|
"ATtiny804-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny804-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny804-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny804-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 295;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x93 0x25;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny806
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny806";
|
|
id = "t806";
|
|
variants =
|
|
"ATtiny806-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny806-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny806-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 296;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x93 0x24;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny807
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny807";
|
|
id = "t807";
|
|
variants =
|
|
"ATtiny807-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny807-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny807-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny807-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny807-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 297;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x93 0x23;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1604
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1604";
|
|
id = "t1604";
|
|
variants =
|
|
"ATtiny1604-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1604-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1604-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1604-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 304;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x25;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1606
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1606";
|
|
id = "t1606";
|
|
variants =
|
|
"ATtiny1606-MF: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-MFR: VQFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-SFR: SOIC300-20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1606-SNR: SOIC300-20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 305;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x24;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1607
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1607";
|
|
id = "t1607";
|
|
variants =
|
|
"ATtiny1607-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1607-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1607-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1607-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1607-MRF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 306;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x23;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny212
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny212";
|
|
id = "t212";
|
|
variants =
|
|
"ATtiny212-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny212-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny212-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny212-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 282;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x91 0x21;
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny214
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny214";
|
|
id = "t214";
|
|
variants =
|
|
"ATtiny214-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny214-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny214-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny214-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 283;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x91 0x20;
|
|
|
|
memory "eeprom"
|
|
size = 64;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 2048;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny412
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny412";
|
|
id = "t412";
|
|
variants =
|
|
"ATtiny412-SSF: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny412-SSFR: SOIC8, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny412-SSN: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny412-SSNR: SOIC8, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 287;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x23;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny414
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny414";
|
|
id = "t414";
|
|
variants =
|
|
"ATtiny414-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny414-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny414-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny414-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 288;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x22;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny416
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny416";
|
|
id = "t416";
|
|
variants =
|
|
"ATtiny416-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny416-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny416-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny416-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny416-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny416-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 289;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x21;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny416auto
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t416"
|
|
desc = "ATtiny416auto";
|
|
id = "t416auto";
|
|
variants =
|
|
"ATtiny416-MBT: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny416-MZT: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]";
|
|
mcuid = 290;
|
|
signature = 0x1e 0x92 0x28;
|
|
|
|
memory "fuse2"
|
|
initval = 0x7d;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny417
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny417";
|
|
id = "t417";
|
|
variants =
|
|
"ATtiny417-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny417-MFR: QFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny417-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny417-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 291;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x92 0x20;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny814
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny814";
|
|
id = "t814";
|
|
variants =
|
|
"ATtiny814-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny814-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny814-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny814-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny814-SSNRES: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 298;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x93 0x22;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny816
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny816";
|
|
id = "t816";
|
|
variants =
|
|
"ATtiny816-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-MN: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-MNR: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-MNRES: VQFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny816-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 299;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x93 0x21;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny817
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny817";
|
|
id = "t817";
|
|
variants =
|
|
"ATtiny817-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny817-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny817-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny817-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny817-MNRES: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 300;
|
|
n_interrupts = 26;
|
|
signature = 0x1e 0x93 0x20;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1614
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1614";
|
|
id = "t1614";
|
|
variants =
|
|
"ATtiny1614-SSF: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1614-SSFR: SOIC14, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1614-SSN: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1614-SSNR: SOIC14, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 307;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x22;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1616
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1616";
|
|
id = "t1616";
|
|
variants =
|
|
"ATtiny1616-MFR: QFN20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1616-MNR: QFN20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1616-SF: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1616-SFR: SOIC20, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1616-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1616-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 308;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x21;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1617
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1617";
|
|
id = "t1617";
|
|
variants =
|
|
"ATtiny1617-MF: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny1617-MFR: VQFN24, Fmax=16 MHz, T=[-40 C, 125 C], Vcc=[2.7 V, 5.5 V]",
|
|
"ATtiny1617-MN: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1617-MNR: QFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 309;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x94 0x20;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny3216
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny3216";
|
|
id = "t3216";
|
|
variants =
|
|
"ATtiny3216-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3216-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3216-SN: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3216-SNR: SOIC20, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 314;
|
|
n_interrupts = 31;
|
|
signature = 0x1e 0x95 0x21;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse4"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1284;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "tcd0cfg"
|
|
alias "fuse4";
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
|
|
memory "userrow"
|
|
size = 64;
|
|
page_size = 64;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny3217
|
|
#------------------------------------------------------------
|
|
|
|
part parent "t3216"
|
|
desc = "ATtiny3217";
|
|
id = "t3217";
|
|
variants =
|
|
"ATtiny3217-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3217-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3217-MN: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3217-MNR: VQFN24, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 315;
|
|
signature = 0x1e 0x95 0x22;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny424
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny424";
|
|
id = "t424";
|
|
variants =
|
|
"ATtiny424: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny424-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 292;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x92 0x2c;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny426
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny426";
|
|
id = "t426";
|
|
variants =
|
|
"ATtiny426: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny426-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 293;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x92 0x2b;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny427
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny427";
|
|
id = "t427";
|
|
variants =
|
|
"ATtiny427: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny427-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny427-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny427-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny427-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 294;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x92 0x2a;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 4096;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny824
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny824";
|
|
id = "t824";
|
|
variants =
|
|
"ATtiny824: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny824-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 301;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x93 0x29;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny826
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny826";
|
|
id = "t826";
|
|
variants =
|
|
"ATtiny826: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny826-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 302;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x93 0x28;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny827
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny827";
|
|
id = "t827";
|
|
variants =
|
|
"ATtiny827: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny827-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny827-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny827-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny827-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 303;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x93 0x27;
|
|
|
|
memory "eeprom"
|
|
size = 128;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1624
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1624";
|
|
id = "t1624";
|
|
variants =
|
|
"ATtiny1624: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1624-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 310;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x94 0x2a;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1626
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1626";
|
|
id = "t1626";
|
|
variants =
|
|
"ATtiny1626: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-MF: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-XF: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-XU: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1626-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 311;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x94 0x29;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny1627
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny1627";
|
|
id = "t1627";
|
|
variants =
|
|
"ATtiny1627: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1627-MF: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1627-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1627-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny1627-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, N/A], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 312;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x94 0x28;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny3224
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny3224";
|
|
id = "t3224";
|
|
variants =
|
|
"ATtiny3224: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-SSF: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-SSFR: SOIC14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-SSU: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-SSUR: SOIC14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-XF: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-XFR: TSSOP14, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-XU: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3224-XUR: TSSOP14, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 316;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x95 0x28;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny3226
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny3226";
|
|
id = "t3226";
|
|
variants =
|
|
"ATtiny3226: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-MF: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-MFR: VQFN20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-MU: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-MUR: VQFN20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-SF: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-SFR: SOIC20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-SU: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-SUR: SOIC20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-XF: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-XFR: SSOP20, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-XU: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3226-XUR: SSOP20, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 317;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x95 0x27;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATtiny3227
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATtiny3227";
|
|
id = "t3227";
|
|
variants =
|
|
"ATtiny3227: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3227-MF: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3227-MFR: VQFN24, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3227-MU: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATtiny3227-MUR: VQFN24, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 318;
|
|
n_interrupts = 30;
|
|
signature = 0x1e 0x95 0x26;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x8000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xdd;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega808
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATmega808";
|
|
id = "m808";
|
|
variants =
|
|
"ATmega808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-AFR: TQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-MFR: QFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega808-XUR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 319;
|
|
n_interrupts = 36;
|
|
signature = 0x1e 0x93 0x26;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xc9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega809
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATmega809";
|
|
id = "m809";
|
|
variants =
|
|
"ATmega809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-MFR: QFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega809-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 320;
|
|
n_interrupts = 40;
|
|
signature = 0x1e 0x93 0x2a;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xc9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1608
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATmega1608";
|
|
id = "m1608";
|
|
variants =
|
|
"ATmega1608-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1608-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 321;
|
|
n_interrupts = 36;
|
|
signature = 0x1e 0x94 0x27;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xc9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega1609
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_tiny"
|
|
desc = "ATmega1609";
|
|
id = "m1609";
|
|
variants =
|
|
"ATmega1609-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega1609-MUR: VQFN48, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 322;
|
|
n_interrupts = 40;
|
|
signature = 0x1e 0x94 0x26;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 32;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
bitmask = 0xc9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3208
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_mega"
|
|
desc = "ATmega3208";
|
|
id = "m3208";
|
|
variants =
|
|
"ATmega3208-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-XFR: SSOP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3208-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 323;
|
|
n_interrupts = 36;
|
|
signature = 0x1e 0x95 0x30;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega3209
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_mega"
|
|
desc = "ATmega3209";
|
|
id = "m3209";
|
|
variants =
|
|
"ATmega3209-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega3209-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 324;
|
|
n_interrupts = 40;
|
|
signature = 0x1e 0x95 0x31;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 128;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega4808
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_mega"
|
|
desc = "ATmega4808";
|
|
id = "m4808";
|
|
variants =
|
|
"ATmega4808-AF: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-AFR: TQFP32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-AU: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-AUR: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-MF: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-MFR: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-MU: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-MUR: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-XF: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-XFR: SSOP28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-XU: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4808-XUR: SSOP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]";
|
|
mcuid = 325;
|
|
n_interrupts = 36;
|
|
signature = 0x1e 0x96 0x50;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0xc000;
|
|
page_size = 128;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# ATmega4809
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avr8x_mega"
|
|
desc = "ATmega4809";
|
|
id = "m4809";
|
|
variants =
|
|
"ATmega4809-AF: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-AFR: TQFP48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-AU: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-AUR: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-MF: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-MFR: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-MU: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-MUR: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"ATmega4809-PF: PDIP40, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 326;
|
|
n_interrupts = 40;
|
|
signature = 0x1e 0x96 0x51;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
page_size = 64;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0xc000;
|
|
page_size = 128;
|
|
offset = 0x4000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0xc5;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR-Dx family common values
|
|
#------------------------------------------------------------
|
|
|
|
part
|
|
desc = "AVR-Dx family common values";
|
|
id = ".avrdx";
|
|
family_id = "AVR ";
|
|
prog_modes = PM_SPM | PM_UPDI;
|
|
n_boot_sections = 1;
|
|
boot_section_size = 512;
|
|
# Dedicated UPDI pin, no HV
|
|
hvupdi_variant = 1;
|
|
nvm_base = 0x1000;
|
|
ocd_base = 0x0f80;
|
|
|
|
memory "fuse0"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1050;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "wdtcfg"
|
|
alias "fuse0";
|
|
;
|
|
|
|
memory "fuse1"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1051;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "bodcfg"
|
|
alias "fuse1";
|
|
;
|
|
|
|
memory "fuse2"
|
|
size = 1;
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
offset = 0x1052;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "osccfg"
|
|
alias "fuse2";
|
|
;
|
|
|
|
memory "fuse5"
|
|
size = 1;
|
|
initval = 0xc0;
|
|
bitmask = 0xed;
|
|
offset = 0x1055;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "syscfg0"
|
|
alias "fuse5";
|
|
;
|
|
|
|
memory "fuse6"
|
|
size = 1;
|
|
initval = 0x08;
|
|
bitmask = 0x1f;
|
|
offset = 0x1056;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "syscfg1"
|
|
alias "fuse6";
|
|
;
|
|
|
|
memory "fuse7"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1057;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "codesize"
|
|
alias "fuse7";
|
|
;
|
|
|
|
memory "append"
|
|
alias "fuse7";
|
|
;
|
|
|
|
memory "fuse8"
|
|
size = 1;
|
|
initval = 0x00;
|
|
offset = 0x1058;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "bootsize"
|
|
alias "fuse8";
|
|
;
|
|
|
|
memory "bootend"
|
|
alias "fuse8";
|
|
;
|
|
|
|
memory "fuses"
|
|
size = 9;
|
|
page_size = 16;
|
|
offset = 0x1050;
|
|
readsize = 16;
|
|
;
|
|
|
|
memory "lock"
|
|
size = 4;
|
|
offset = 0x1040;
|
|
readsize = 4;
|
|
;
|
|
|
|
memory "tempsense"
|
|
size = 2;
|
|
offset = 0x1104;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "signature"
|
|
size = 3;
|
|
offset = 0x1100;
|
|
readsize = 3;
|
|
;
|
|
|
|
memory "prodsig"
|
|
size = 125;
|
|
page_size = 125;
|
|
offset = 0x1103;
|
|
readsize = 125;
|
|
;
|
|
|
|
memory "sernum"
|
|
size = 16;
|
|
offset = 0x1110;
|
|
readsize = 1;
|
|
;
|
|
|
|
memory "userrow"
|
|
size = 32;
|
|
page_size = 32;
|
|
offset = 0x1080;
|
|
readsize = 32;
|
|
;
|
|
|
|
memory "usersig"
|
|
alias "userrow";
|
|
;
|
|
|
|
memory "data"
|
|
# SRAM, only used to supply the offset
|
|
offset = 0x1000000;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DA28";
|
|
id = "avr32da28";
|
|
variants =
|
|
"AVR32DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 338;
|
|
n_interrupts = 41;
|
|
signature = 0x1e 0x95 0x34;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DA32";
|
|
id = "avr32da32";
|
|
variants =
|
|
"AVR32DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 342;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x95 0x33;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DA48";
|
|
id = "avr32da48";
|
|
variants =
|
|
"AVR32DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 346;
|
|
n_interrupts = 58;
|
|
signature = 0x1e 0x95 0x32;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DA28";
|
|
id = "avr64da28";
|
|
variants =
|
|
"AVR64DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28-E/SP: SPDIP28, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]",
|
|
"AVR64DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 351;
|
|
n_interrupts = 41;
|
|
signature = 0x1e 0x96 0x15;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DA32";
|
|
id = "avr64da32";
|
|
variants =
|
|
"AVR64DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 355;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x96 0x14;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DA48";
|
|
id = "avr64da48";
|
|
variants =
|
|
"AVR64DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 359;
|
|
n_interrupts = 58;
|
|
signature = 0x1e 0x96 0x13;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DA64
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DA64";
|
|
id = "avr64da64";
|
|
variants =
|
|
"AVR64DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 362;
|
|
n_interrupts = 64;
|
|
signature = 0x1e 0x96 0x12;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DA28";
|
|
id = "avr128da28";
|
|
variants =
|
|
"AVR128DA28: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 364;
|
|
n_interrupts = 41;
|
|
signature = 0x1e 0x97 0x0a;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DA32";
|
|
id = "avr128da32";
|
|
variants =
|
|
"AVR128DA32: QFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 366;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x97 0x09;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DA48";
|
|
id = "avr128da48";
|
|
variants =
|
|
"AVR128DA48: QFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 368;
|
|
n_interrupts = 58;
|
|
signature = 0x1e 0x97 0x08;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DA64
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DA64";
|
|
id = "avr128da64";
|
|
variants =
|
|
"AVR128DA64: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DA64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
family_id = " AVR";
|
|
mcuid = 370;
|
|
n_interrupts = 64;
|
|
signature = 0x1e 0x97 0x07;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x00;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DB28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DB28";
|
|
id = "avr32db28";
|
|
variants =
|
|
"AVR32DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 339;
|
|
n_interrupts = 42;
|
|
signature = 0x1e 0x95 0x37;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DB32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DB32";
|
|
id = "avr32db32";
|
|
variants =
|
|
"AVR32DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 343;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x95 0x36;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DB48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DB48";
|
|
id = "avr32db48";
|
|
variants =
|
|
"AVR32DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 347;
|
|
n_interrupts = 61;
|
|
signature = 0x1e 0x95 0x35;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DB28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DB28";
|
|
id = "avr64db28";
|
|
variants =
|
|
"AVR64DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 352;
|
|
n_interrupts = 42;
|
|
signature = 0x1e 0x96 0x19;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DB32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DB32";
|
|
id = "avr64db32";
|
|
variants =
|
|
"AVR64DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 356;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x96 0x18;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DB48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DB48";
|
|
id = "avr64db48";
|
|
variants =
|
|
"AVR64DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 360;
|
|
n_interrupts = 61;
|
|
signature = 0x1e 0x96 0x17;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DB64
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DB64";
|
|
id = "avr64db64";
|
|
variants =
|
|
"AVR64DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 363;
|
|
n_interrupts = 65;
|
|
signature = 0x1e 0x96 0x16;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DB28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DB28";
|
|
id = "avr128db28";
|
|
variants =
|
|
"AVR128DB28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-E/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28T-E/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28T-E/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28T-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB28T-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 365;
|
|
n_interrupts = 42;
|
|
signature = 0x1e 0x97 0x0e;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DB32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DB32";
|
|
id = "avr128db32";
|
|
variants =
|
|
"AVR128DB32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32T-E/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32T-E/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32T-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB32T-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 367;
|
|
n_interrupts = 44;
|
|
signature = 0x1e 0x97 0x0d;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DB48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DB48";
|
|
id = "avr128db48";
|
|
variants =
|
|
"AVR128DB48: QFN48, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48T-E/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48T-E/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48T-I/6LX: VQFN48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB48T-I/PT: TQFP48, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 369;
|
|
n_interrupts = 61;
|
|
signature = 0x1e 0x97 0x0c;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR128DB64
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR128DB64";
|
|
id = "avr128db64";
|
|
variants =
|
|
"AVR128DB64: QFN64, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64T-E/MR: QFN64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64T-E/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64T-I/MR: QFN64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR128DB64T-I/PT: TQFP64, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 371;
|
|
n_interrupts = 65;
|
|
signature = 0x1e 0x97 0x0b;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x20000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16DD14
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR16DD14";
|
|
id = "avr16dd14";
|
|
variants =
|
|
"AVR16DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 329;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x94 0x34;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16DD20
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR16DD20";
|
|
id = "avr16dd20";
|
|
variants =
|
|
"AVR16DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 330;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x94 0x33;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16DD28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR16DD28";
|
|
id = "avr16dd28";
|
|
variants =
|
|
"AVR16DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 331;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x94 0x32;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16DD32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR16DD32";
|
|
id = "avr16dd32";
|
|
variants =
|
|
"AVR16DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR16DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 333;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x94 0x31;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DD14
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DD14";
|
|
id = "avr32dd14";
|
|
variants =
|
|
"AVR32DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 336;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x95 0x3b;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DD20
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DD20";
|
|
id = "avr32dd20";
|
|
variants =
|
|
"AVR32DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD20-I/REB: VQFN20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 337;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x95 0x3a;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DD28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DD28";
|
|
id = "avr32dd28";
|
|
variants =
|
|
"AVR32DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD28-I/STX: N/A, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 340;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x95 0x39;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32DD32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR32DD32";
|
|
id = "avr32dd32";
|
|
variants =
|
|
"AVR32DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR32DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 344;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x95 0x38;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DD14
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DD14";
|
|
id = "avr64dd14";
|
|
variants =
|
|
"AVR64DD14: SOIC14, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD14-I/SL: SOIC14, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 349;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x96 0x1d;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DD20
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DD20";
|
|
id = "avr64dd20";
|
|
variants =
|
|
"AVR64DD20: QFN20, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD20-I/SO: SOIC20, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 350;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x96 0x1c;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DD28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DD28";
|
|
id = "avr64dd28";
|
|
variants =
|
|
"AVR64DD28: SOIC28, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD28-I/SO: SOIC28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD28-I/SP: SPDIP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD28-I/SS: SSOP28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD28-I/STX: VQFN28, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 353;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x96 0x1b;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64DD32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR64DD32";
|
|
id = "avr64dd32";
|
|
variants =
|
|
"AVR64DD32: QFN32, Fmax=32 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD32-I/PT: TQFP32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64DD32-I/RXB: VQFN32, Fmax=24 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 357;
|
|
n_interrupts = 36;
|
|
hvupdi_variant = 2;
|
|
signature = 0x1e 0x96 0x1a;
|
|
|
|
memory "eeprom"
|
|
size = 256;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 512;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR-Ex family common values
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrdx"
|
|
desc = "AVR-Ex family common values";
|
|
id = ".avrex";
|
|
# Shared UPDI pin, HV on _RESET
|
|
hvupdi_variant = 2;
|
|
|
|
memory "fuse2"
|
|
bitmask = 0x08;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = 0xd0;
|
|
bitmask = 0xf9;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = 0x07;
|
|
bitmask = 0x07;
|
|
;
|
|
|
|
memory "userrow"
|
|
size = 64;
|
|
page_size = 64;
|
|
readsize = 64;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR8EA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR8EA28";
|
|
id = "avr8ea28";
|
|
mcuid = 327;
|
|
signature = 0x1e 0x93 0x2c;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse0"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse7"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse8"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR8EA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR8EA32";
|
|
id = "avr8ea32";
|
|
mcuid = 328;
|
|
signature = 0x1e 0x93 0x2b;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 8192;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "fuse0"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse1"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse2"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse5"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse6"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "fuse7"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "fuse8"
|
|
initval = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16EA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR16EA28";
|
|
id = "avr16ea28";
|
|
variants =
|
|
"AVR16EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 332;
|
|
signature = 0x1e 0x94 0x37;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16EA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR16EA32";
|
|
id = "avr16ea32";
|
|
variants =
|
|
"AVR16EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 334;
|
|
signature = 0x1e 0x94 0x36;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR16EA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR16EA48";
|
|
id = "avr16ea48";
|
|
variants =
|
|
"AVR16EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 335;
|
|
signature = 0x1e 0x94 0x35;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x4000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32EA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR32EA28";
|
|
id = "avr32ea28";
|
|
variants =
|
|
"AVR32EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 341;
|
|
signature = 0x1e 0x95 0x3e;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32EA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR32EA32";
|
|
id = "avr32ea32";
|
|
variants =
|
|
"AVR32EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 345;
|
|
signature = 0x1e 0x95 0x3d;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR32EA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR32EA48";
|
|
id = "avr32ea48";
|
|
variants =
|
|
"AVR32EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 348;
|
|
signature = 0x1e 0x95 0x3c;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x8000;
|
|
page_size = 64;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64EA28
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR64EA28";
|
|
id = "avr64ea28";
|
|
variants =
|
|
"AVR64EA28: SOIC28, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA28-I/SP: SPDIP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA28-I/SS: SSOP28, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 354;
|
|
n_interrupts = 37;
|
|
signature = 0x1e 0x96 0x20;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64EA32
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR64EA32";
|
|
id = "avr64ea32";
|
|
variants =
|
|
"AVR64EA32: VQFN32, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA32-I/PT: TQFP32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA32-I/RXB: VQFN32, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 358;
|
|
n_interrupts = 37;
|
|
signature = 0x1e 0x96 0x1f;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# AVR64EA48
|
|
#------------------------------------------------------------
|
|
|
|
part parent ".avrex"
|
|
desc = "AVR64EA48";
|
|
id = "avr64ea48";
|
|
variants =
|
|
"AVR64EA48: VQFN48, Fmax=20 MHz, T=[-40 C, 125 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA48-I/6LX: VQFN48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]",
|
|
"AVR64EA48-I/PT: TQFP48, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]";
|
|
mcuid = 361;
|
|
n_interrupts = 45;
|
|
signature = 0x1e 0x96 0x1e;
|
|
|
|
memory "eeprom"
|
|
size = 512;
|
|
page_size = 8;
|
|
offset = 0x1400;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "flash"
|
|
size = 0x10000;
|
|
page_size = 128;
|
|
offset = 0x800000;
|
|
readsize = 256;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = 0x5cc5c55c;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# Logic Green parts
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m88"
|
|
desc = "LGT8F88P";
|
|
id = "lgt8f88p";
|
|
mcuid = 227;
|
|
signature = 0x1e 0x93 0x0f;
|
|
autobaud_sync = 0x1c;
|
|
|
|
memory "lfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "hfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "efuse"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# LGT8F168P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m168"
|
|
desc = "LGT8F168P";
|
|
id = "lgt8f168p";
|
|
mcuid = 228;
|
|
signature = 0x1e 0x94 0x0b;
|
|
autobaud_sync = 0x1c;
|
|
|
|
memory "lfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "hfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "efuse"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
;
|
|
|
|
#------------------------------------------------------------
|
|
# LGT8F328P
|
|
#------------------------------------------------------------
|
|
|
|
part parent "m328"
|
|
desc = "LGT8F328P";
|
|
id = "lgt8f328p";
|
|
mcuid = 229;
|
|
signature = 0x1e 0x95 0x0f;
|
|
autobaud_sync = 0x1c;
|
|
|
|
memory "lfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "hfuse"
|
|
initval = -1;
|
|
;
|
|
|
|
memory "efuse"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
|
|
memory "lock"
|
|
initval = -1;
|
|
bitmask = -1;
|
|
;
|
|
;
|