# $Id$ # # AVRPROG Configuration File # # This file contains configuration data used by AVRPROG which describes # the programming hardware pinouts and also provides part definitions. # AVRPROG's "-C" command line option specifies the location of the # configuration file. The "-c" option names the programmer confiuration # which must match one of the entry's "id" parameter. The "-p" option # identifies which part AVRPROG is going to be programming and must match # one of the parts' "id" parameter. # # Possible entry formats are: # # programmer # id = [, [, ] ...] ; # are quoted strings # desc = ; # quoted string # vcc = [, ... ] ; # pin number(s) # reset = ; # pin number # sck = ; # pin number # mosi = ; # pin number # miso = ; # pin number # errled = ; # pin number # rdyled = ; # pin number # pgmled = ; # pin number # vfyled = ; # pin number # ; # # part # id = ; # quoted string # desc = ; # quoted string # chip_erase_delay = ; # micro-seconds # eeprom # paged = ; # yes / no # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds # readback_p1 = ; # byte value # readback_p2 = ; # byte value # ; # flash # paged = ; # yes / no # size = ; # bytes # page_size = ; # bytes # num_pages = ; # numeric # min_write_delay = ; # micro-seconds # max_write_delay = ; # micro-seconds # readback_p1 = ; # byte value # readback_p2 = ; # byte value # ; # ; # # If any of the above parameters is not specified, the default value of # 0 is used for numerics or the empty string ("") for string values. # If a required parameter is left empty, AVRPROG will complain. # # See below for some examples. # programmer id = "bsd", "default"; desc = "Brian Dean's Programmer"; vcc = 2, 3, 4, 5; reset = 7; sck = 8; mosi = 9; miso = 10; ; programmer id = "dt006"; desc = "Dontronics DT006"; reset = 4; sck = 5; mosi = 2; miso = 11; ; programmer id = "alf"; desc = "Tony Friebel's Programmer"; vcc = 2, 3, 4, 5; buff = 6; reset = 7; sck = 8; mosi = 9; miso = 10; errled = 1; rdyled = 14; pgmled = 16; vfyled = 17; ; part id = "1200"; desc = "AT90S1200"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 64; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; read = "1 0 1 0 0 0 0 0 x x x x x x x x", "x x a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x x", "x x a a a a a a i i i i i i i i"; ; memory "flash" size = 1024; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "2313"; desc = "AT90S2313"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 128; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x80; readback_p2 = 0x7f; read = "1 0 1 0 0 0 0 0 x x x x x x x x", "x a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x x", "x a a a a a a a i i i i i i i i"; ; memory "flash" size = 2048; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x7f; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; memory "lock" size = 1; write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", "x x x x x x x x x x x x x x x x"; ; ; part id = "2333"; desc = "AT90S2333"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 128; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; read = "1 0 1 0 0 0 0 0 x x x x x x x x", "x a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x x", "x a a a a a a a i i i i i i i i"; ; memory "flash" size = 2048; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x x x a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "4433"; desc = "AT90S4433"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 256; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; read = "1 0 1 0 0 0 0 0 x x x x x x x x", "a a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x x", "a a a a a a a a i i i i i i i i"; ; memory "flash" size = 4096; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "4434"; desc = "AT90S4434"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 256; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; read = "1 0 1 0 0 0 0 0 x x x x x x x x", "a a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x x", "a a a a a a a a i i i i i i i i"; ; memory "flash" size = 4096; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x x a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "8515"; desc = "AT90S8515"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 512; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x80; readback_p2 = 0x7f; read = "1 0 1 0 0 0 0 0 x x x x x x x a8", "a a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x a8", "a a a a a a a a i i i i i i i i"; ; memory "flash" size = 8192; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x7f; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "8535"; desc = "AT90S8535"; chip_erase_delay = 20000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 512; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; read = "1 0 1 0 0 0 0 0 x x x x x x x a8", "a a a a a a a a o o o o o o o o"; write = "1 1 0 0 0 0 0 0 x x x x x x x a8", "a a a a a a a a i i i i i i i i"; ; memory "flash" size = 8192; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; read_lo = " 0 0 1 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_lo = " 0 1 0 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write_hi = " 0 1 0 0 1 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "m103"; desc = "ATMEGA103"; chip_erase_delay = 112000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 4096; min_write_delay = 4000; max_write_delay = 9000; readback_p1 = 0x00; readback_p2 = 0xff; read = " 1 0 1 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 1 1 0 0 0 0 0 0", " x x x x a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "flash" paged = yes; size = 131072; page_size = 256; num_pages = 512; min_write_delay = 22000; max_write_delay = 56000; readback_p1 = 0xff; readback_p2 = 0x00; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; part id = "m16"; desc = "ATMEGA16"; chip_erase_delay = 9000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 512; min_write_delay = 9000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 1 0 1 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 1 1 0 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "flash" paged = yes; size = 16384; page_size = 128; num_pages = 128; min_write_delay = 4500; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ; #------------------------------------------------------------ # ATMega163 #------------------------------------------------------------ part id = "m163"; desc = "ATMEGA163"; chip_erase_delay = 32000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 512; min_write_delay = 4000; max_write_delay = 4000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 1 0 1 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 1 1 0 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "flash" paged = yes; size = 16384; page_size = 128; num_pages = 128; min_write_delay = 16000; max_write_delay = 16000; readback_p1 = 0xff; readback_p2 = 0xff; read_lo = " 0 0 1 0 0 0 0 0", " x x x a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; read_hi = " 0 0 1 0 1 0 0 0", " x x x a12 a11 a10 a9 a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; loadpage_lo = " 0 1 0 0 0 0 0 0", " x x x x x x x x", " x x a5 a4 a3 a2 a1 a0", " i i i i i i i i"; loadpage_hi = " 0 1 0 0 1 0 0 0", " x x x x x x x x", " x x a5 a4 a3 a2 a1 a0", " i i i i i i i i"; writepage = " 0 1 0 0 1 1 0 0", " x x x a12 a11 a10 a9 a8", " a7 a6 x x x x x x", " x x x x x x x x"; ; memory "lfuse" size = 1; min_write_delay = 2000; max_write_delay = 2000; read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", "x x x x x x x x o o x x o o o o"; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", "x x x x x x x x i i 1 1 i i i i"; ; memory "hfuse" size = 1; min_write_delay = 2000; max_write_delay = 2000; read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", "x x x x x x x x x x x x 1 o o o"; write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", "x x x x x x x x 1 1 1 1 1 i i i"; ; memory "lock" size = 1; min_write_delay = 2000; max_write_delay = 2000; read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", "x x x x 0 x x x x x o o o o o o"; write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", "x x x x x x x x 1 1 i i i i i i"; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; memory "calibration" size = 1; read = "0 0 1 1 1 0 0 0 x x x x x x x x", "0 0 0 0 0 0 0 0 o o o o o o o o"; ; ; part id = "m8"; desc = "ATMEGA8"; chip_erase_delay = 9000; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", "x x x x x x x x x x x x x x x x"; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", "x x x x x x x x x x x x x x x x"; memory "eeprom" size = 512; min_write_delay = 9000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; read = " 1 0 1 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " o o o o o o o o"; write = " 1 1 0 0 0 0 0 0", " x x x x x x x a8", " a7 a6 a5 a4 a3 a2 a1 a0", " i i i i i i i i"; ; memory "flash" paged = yes; size = 8192; page_size = 64; num_pages = 128; min_write_delay = 4500; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; ; memory "signature" size = 3; read = "0 0 1 1 0 0 0 0 x x x x x x x x", "x x x x x x a1 a0 o o o o o o o o"; ; ;