avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avrdude-dev] EEPROM fails verification on ATmega645 with pony-stk200 ha


From: Bob Paddock
Subject: [avrdude-dev] EEPROM fails verification on ATmega645 with pony-stk200 hardware?
Date: Fri, 26 May 2006 14:38:19 -0400
User-agent: Opera M2/8.54 (Win32, build 7730)



I have been developing my code with a STK500 (stk500v2), using an ATMega645.
No issues with programming anything.  EEPROM, Flash and fuses
all program fine.

Today I moved over to a pony-stk200 that production uses
(much cheaper to replace when they kill it), and I can
not get the EEPROM to program in any of my boards when
using the pony-stk200 hardware.  The Flash and Fuses
still program just fine with the pony-stk200.

This is with AvrDude 5.1 on Windows.

Does anyone have any ideas?


Doing:

avrdude -P lpt1 -c pony-stk200 -p atmega645 -t
write eeprom 0x0 0x55

results in:

avrdude (write): error writing 0x55 at 0x00000, rc=-6
avrdude (write): error writing 0x55 at 0x00000 cell=0xff

avrdude.conf:

#------------------------------------------------------------
# ATmega645
#------------------------------------------------------------

part
    id               = "m645";
    desc             = "ATMEGA645";
    has_jtag         = yes;
#   stk500_devcode   = 0x??; # No STK500v1 support?
#   avr910_devcode   = 0x??; # Try the ATmega16 one
    avr910_devcode   = 0x74;
    pagel            = 0xd7;
    bs2              = 0xa0;
    chip_erase_delay = 9000;
    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";

    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 0  0 0 0 0",
                       "0 0 0 0  0 0 0 0    0 0 0 0  0 0 0 0";

    timeout                   = 200;
    stabdelay           = 100;
    cmdexedelay         = 25;
    synchloops          = 32;
    bytedelay           = 0;
    pollindex           = 3;
    pollvalue           = 0x53;
    predelay            = 1;
    postdelay           = 1;
    pollmethod          = 1;

    idr                 = 0x31;
    spmcr               = 0x57;
    allowfullpagebitstream = no;

    memory "eeprom"
        paged           = no; /* leave this "no" */
        page_size       = 8;  /* for parallel programming */
        size            = 2048;
        min_write_delay = 9000;
        max_write_delay = 9000;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read            ="  1   0   1   0      0   0   0   0",
                         "  0   0   0   0      0 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",
                          "  0   0   0   0      0 a10  a9  a8",
                          " a7  a6  a5  a4     a3  a2  a1  a0",
                          "  i   i   i   i      i   i   i   i";

        loadpage_lo     = "  1   1   0   0      0   0   0   1",
                          "  0   0   0   0      0   0   0   0",
                          "  0   0   0   0      0  a2  a1  a0",
                          "  i   i   i   i      i   i   i   i";

        writepage       = "  1   1   0   0      0   0   1   0",
                          "  0   0   0   0      0 a10  a9  a8",
                          " a7  a6  a5  a4     a3   0   0   0",
                          "  x   x   x   x      x   x   x   x";

        mode            = 0x41;
        delay           = 10;
        blocksize       = 8;
        readsize        = 256;
      ;

    memory "flash"
        paged           = yes;
        size            = 65536;
        page_size       = 256;
        num_pages       = 256;
        min_write_delay = 4500;
        max_write_delay = 4500;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read_lo         = "   0   0   1   0      0   0   0   0",
                          " a15 a14 a13 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",
                          " a15 a14 a13 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",
                          "  0   0   0   0      0   0   0   0",
                          "  a7 a6  a5  a4     a3  a2  a1  a0",
                          "  i   i   i   i      i   i   i   i";

        loadpage_hi     = "  0   1   0   0      1   0   0   0",
                          "  0   0   0   0      0   0   0   0",
                          "  a7 a6  a5  a4     a3  a2  a1  a0",
                          "  i   i   i   i      i   i   i   i";

        writepage       = "   0   1   0   0      1   1   0   0",
                          " a15 a14 a13 a12    a11 a10  a9  a8",
                          "  a7  a6  a5  a4     a3  a2  a1  a0",
                          "   0   0   0   0      0   0   0   0";

        mode            = 0x41;
        delay           = 10;
        blocksize       = 128;
        readsize        = 256;
      ;

    memory "lock"
        size            = 1;
        read            = "0 1 0 1  1 0 0 0   0 0 0 0  0 0 0 0",
                          "x x x x  x x x x   x x o o  o o o o";

        write           = "1 0 1 0  1 1 0 0   1 1 1 0  0 0 0 0",
                          "0 0 0 0  0 0 0 0   1 1 i i  i i i i";
      ;

    memory "lfuse"
        size            = 1;
        read            = "0 1 0 1  0 0 0 0   0 0 0 0  0 0 0 0",
                          "0 0 0 0  0 0 0 0   o o o o  o o o o";

        write           = "1 0 1 0  1 1 0 0   1 0 1 0  0 0 0 0",
                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
      ;

    memory "hfuse"
        size            = 1;
        read            = "0 1 0 1  1 0 0 0   0 0 0 0  1 0 0 0",
                          "0 0 0 0  0 0 0 0   o o o o  o o o o";

        write           = "1 0 1 0  1 1 0 0   1 0 1 0  1 0 0 0",
                          "0 0 0 0  0 0 0 0   i i i i  i i i i";
      ;

    memory "efuse"
        size            = 1;

        read            = "0 1 0 1  0 0 0 0  0 0 0 0  1 0 0 0",
                          "0 0 0 0  0 0 0 0  o o o o  o o o o";

        write           = "1 0 1 0  1 1 0 0  1 0 1 0  0 1 0 0",
                          "0 0 0 0  0 0 0 0  1 1 1 1  1 i i i";
      ;

#   ATmega645 has Signature Bytes: 0x1E 0x96 0x05.
    memory "signature"
        size            = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", "0 0 0 0 0 0 a1 a0 o o o o o o o o";
      ;

    memory "calibration"
        size            = 1;

        read            = "0 0 1 1  1 0 0 0   0 0 0 0  0 0 0 0",
                          "0 0 0 0  0 0 0 0   o o o o  o o o o";
        ;
  ;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]