| 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 so "<alt-name>: ..."
family_id = <id>; # quoted string, e.g., "megaAVR" or "tinyAVR"
prog_modes = PM_<i/f> {| PM_<i/f>} # interfaces, e.g., PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE
mcuid = <num>; # unique id in 0..2039 for 8-bit AVRs
archnum = <num>; # avr-gcc architecture number for the part
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
stk500_devcode = <num>; # numeric
avr910_devcode = <num>; # numeric
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, e.g., 0xD7
bs2 = <num>; # byte select 2 pin name in hex, e.g., 0xA0
serial = <yes/no>; # can use serial programming
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
syscfg_base = <num>; # Chip revision ID 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
factory_fcpu = <num>; # F_CPU in Hz on reset and factory-set fuses
memory <memstr>
paged = <yes/no>; # yes/no (flash of classic parts only)
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>;
;
;
|