# $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; eeprom paged = no; size = 64; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; ; flash paged = no; size = 1024; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; ; ; part id = "2313"; desc = "AT90S2313"; chip_erase_delay = 20000; eeprom paged = no; size = 128; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x80; readback_p2 = 0x7f; ; flash paged = no; size = 2048; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x7f; readback_p2 = 0x00; ; ; part id = "2333"; desc = "AT90S2333"; chip_erase_delay = 20000; eeprom paged = no; size = 128; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; ; flash paged = no; size = 2048; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; ; ; part id = "4433"; desc = "AT90S4433"; chip_erase_delay = 20000; eeprom paged = no; size = 256; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; ; flash paged = no; size = 4096; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; ; ; part id = "4434"; desc = "AT90S4434"; chip_erase_delay = 20000; eeprom paged = no; size = 256; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; ; flash paged = no; size = 4096; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; ; ; part id = "8515"; desc = "AT90S8515"; chip_erase_delay = 20000; eeprom paged = no; size = 512; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x80; readback_p2 = 0x7f; ; flash paged = no; size = 8192; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x7f; readback_p2 = 0x00; ; ; part id = "8535"; desc = "AT90S8535"; chip_erase_delay = 20000; eeprom paged = no; size = 512; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0x00; readback_p2 = 0xff; ; flash paged = no; size = 8192; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 20000; readback_p1 = 0xff; readback_p2 = 0x00; ; ; part id = "m103"; desc = "ATMEGA103"; chip_erase_delay = 112000; eeprom paged = no; size = 4096; page_size = 0; num_pages = 0; min_write_delay = 4000; max_write_delay = 9000; readback_p1 = 0x00; readback_p2 = 0xff; ; 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; ; ; part id = "m16"; desc = "ATMEGA16"; chip_erase_delay = 9000; eeprom paged = no; size = 512; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; ; 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; ; ; part id = "m163"; desc = "ATMEGA163"; chip_erase_delay = 32000; eeprom paged = no; size = 512; page_size = 0; num_pages = 0; min_write_delay = 4000; max_write_delay = 4000; readback_p1 = 0xff; readback_p2 = 0xff; ; 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; ; /* instructions instr "pe", "programming enable" [ "1010 1100", "0101 0011", "xxxx xxxx", "xxxx xxxx" ]; instr "ce", "chip erase" [ "1010 1100", "100x xxxx", "xxxx xxxx", "xxxx xxxx" ]; instr "rpm", "read program memory" [ "0010 H000", "xxxa aaaa", "bbbb bbbb", "oooo oooo" ]; instr "lpmp" "load program memory page" [ "0100 H000", "xxxx xxxx", "xxbb bbbb", "iiii iiii" ]; instr "wpmp", "write program memory page" [ "0100 1100", "xxxa aaaa", "bbxx xxxx", "xxxx xxxx" ]; instr "rep", "read eeprom memory" [ "1010 0000", "xxxx xxxa", "bbbb bbbb", "oooo oooo" ]; instr "wep", "write eeprom memory" [ "1100 0000", "xxxx xxxa", "bbbb bbbb", "iiii iiii" ]; instr "rlb", "read lock bits" [ "0101 1000", "0000 0000", "xxxx 0xxx", "xxoo oooo" ]; instr "wlb", "write lock bits" [ "1010 1100", "111x xxxx", "xxxx xxxx", "11ii iiii" ]; instr "rsb", "read signature byte" [ "0011 0000", "xxxx xxxx", "xxxx xxbb", "oooo oooo" ]; instr "wfb", "write fuse bits" [ "1010 1100", "1010 0000", "xxxx xxxx", "ii11 iiii" ]; instr "wfhb", "write fuse high bits" [ "1010 1100", "1010 1000", "xxxx xxxx", "1111 1iii" ]; instr "rfb", "read fuse bits" [ "0101 0000", "0000 0000", "xxxx xxxx", "ooxx oooo" ]; instr "rfhb", "read fuse high bits" [ "0101 1000", "0000 1000", "xxxx xxxx", "xxxx 1ooo" ]; instr "rcb", "read calibration byte" [ "0011 1000", "xxxx xxxx", "0000 0000", "oooo oooo" ]; ; */ ; part id = "m8"; desc = "ATMEGA8"; chip_erase_delay = 9000; eeprom paged = no; size = 512; page_size = 0; num_pages = 0; min_write_delay = 9000; max_write_delay = 9000; readback_p1 = 0xff; readback_p2 = 0xff; ; 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; ; ;