[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Part Definitions

part
    desc             = <description> ;        # quoted string
    id               = <id> ;                 # quoted string
    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
    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> ;                # micro-seconds
    reset            = dedicated | io ;
    retry_pulse      = reset | sck ;
    chip_erase_delay = <num> ;                # chip erase delay (us)
    # STK500 parameters (parallel programming IO lines)
    pagel            = <num> ;                # pin name in hex, i.e., 0xD7
    bs2              = <num> ;                # pin name in hex, i.e., 0xA0
    serial           = <yes/no> ;             # can use serial downloading
    parallel         = <yes/no/pseudo> ;      # can use par. 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 only when != 0x3f
    eind             = <num> ;                # mem addr of EIND reg
    mcu_base         = <num> ;
    nvm_base         = <num> ;
    ocd_base         = <num> ;
    ocdrev           = <num> ;
    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
        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 and ocdrev, where the default value is -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, e.g., in signature and readback) can also be given as simple expressions involving arithemtic and bitwise operators.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on January 8, 2023 using texi2html 5.0.