avrdude-dev
[Top][All Lists]
Advanced

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

[avrdude-dev] Q: tiny20 avrdude verification fails


From: Raoul Rubien
Subject: [avrdude-dev] Q: tiny20 avrdude verification fails
Date: Wed, 4 Mar 2015 14:48:17 +0100

Currently I experience an issue when flashing attiny20 using avrdude 6.1
and bitbang interface (TPI) with custom configuration (see [1]). To me it
seems that when the compiled code size (.text + .data) is a multiple of 4
verifying succeeds otherwise it fails.
Is this a configuration issue of [1], a possible problem in my toolchain
(align code size to 4bytes) or a bug in avrdude?

regards,
raoul

case 1 with 228bytes:

avr-objdump -s foo.elf
Contents of section .text:
 0000 10c01fc0 1ec01dc0 1cc01bc0 1ac019c0  ................
 0010 18c017c0 16c015c0 14c013c0 12c011c0  ................
 ...
 00d0 e2e4f0e0 80830895 c1dfc2df dadffecf  ................
 00e0 f894ffcf

flashing:
avrdude: verifying ...
avrdude: 228 bytes of flash verified

avrdude done.  Thank you

case 2 with 226bytes:

avr-objdump -s foo.elf
Contents of section .text:
 0000 10c01fc0 1ec01dc0 1cc01bc0 1ac019c0  ................
 0010 18c017c0 16c015c0 14c013c0 12c011c0  ................
 ...
 00d0 e2e4f0e0 80830895 c3dfdbdf fecff894  ................
 00e0 ffcf

flashing:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x00e1
         0xff != 0xcf
avrdude: verification error; content mismatch

avrdude done.  Thank you.

[1]
avrdude.conf:
programmer
  id   = "ft232rl_dasa";
  desc = "Sparkfun FTDI basic breakout";
  type = "serbb";
  connection_type = serial;
  reset = ~7;
  sck   = ~4;
  mosi  = ~3;
  miso  = ~8;
;

part
    id          = "t20";
    desc        = "ATtiny20";
    signature   = 0x1e 0x91 0x0F;
    has_tpi    = yes;

    memory "flash"
        size            = 2048;
        offset          = 0x4000;
        page_size       = 16;
        blocksize       = 128;
    ;

    memory "signature"
        size = 3;
        offset = 0x3fc0;
        page_size = 16;
    ;

    memory "fuse"
        size = 1;
        offset = 0x3f40;
        page_size = 16;
blocksize = 4;
    ;

    memory "calibration"
        size = 1;
        offset = 0x3f80;
        page_size = 16;
    ;

    memory "lockbits"
        size = 1;
        offset = 0x3f00;
        page_size = 16;
    ;
;


reply via email to

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