Forum: Mikrocontroller und Digitale Elektronik Flash probleme


von Khan (Gast)


Lesenswert?

Hallo,

ich habe ein problem den ich nicht mehr selber lösen kann.
Aus diesem Grund bitte ich um eure Hilfe.


Ich will mein DCF Projek auf mein ATmega8 flashen.
flashen fuktioniert, (obwohl es recht lange dauert für seine größe).
Aber die verifizierung schlägt fehl. mit einem merkwürdiges verhalten.
Ich flashe mit STK500.

eigenartig ist noch eines: wenn ich einen kleinen Projekt flashe 
funktioniert anscheinend alles...
Kann es an der größe des Projekts liegen? wobei es nicht zu groß ist
siehe die Ausgabe von "avr-size"...

Habe ich mein STK500 zerschossen??

hir mal die ausgaben:

/projects/dcf77/src$ avr-size --mcu=atmega8  -C main.hex
AVR Memory Usage
----------------
Device: atmega8

Program:       0 bytes (0.0% Full)
(.text + .data + .bootloader)

Data:          0 bytes (0.0% Full)
(.data + .bss + .noinit)

##################### Jetzt der Flashvorgang #############

avrdude -p atmega8 -P /dev/ttyS0  -c stk500v2 -U flash:w:main.hex
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.09s

avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.hex"
avrdude: input file main.hex auto detected as Intel Hex
avrdude: writing flash (1972 bytes):

Writing | ################################################## | 100% 
56.72s

avrdude: 1972 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex auto detected as Intel Hex
avrdude: input file main.hex contains 1972 bytes
avrdude: reading on-chip flash data:

Reading |                                                    | 0% 
0.00savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ######                                             | 12% 
12.12savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | #############                                      | 25% 
24.23savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ###################                                | 38% 
36.35savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ##########################                         | 51% 
48.47savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ################################                   | 64% 
60.59savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | #######################################            | 77% 
72.71savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | #############################################      | 90% 
84.83savrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ################################################## | 100% 
94.83s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0054
         0x31 != 0x40
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

make: *** [program] Fehler 1

grüße
Khan

von Khan (Gast)


Lesenswert?

sorry, habe falsche avr-size angegeben! hier der Richtige:


avr-size --mcu=atmega8  -C main.elf
AVR Memory Usage
----------------
Device: atmega8

Program:    1972 bytes (24.1% Full)
(.text + .data + .bootloader)

Data:        444 bytes (43.4% Full)
(.data + .bss + .noinit)


grüße
Khan

von Sean G. (atmega318)


Lesenswert?

Versuche mal den Chip vor dem Flashen manuell zu löschen. KA wiso, aber 
bei einem ATXmega hatte ich das gleiche Problem und manuell löschen hat 
geholfen.

von Khan (Gast)


Lesenswert?

Danke für die schnelle Antwort!
aber gleiche effekt.

hier mal


avrdude -p m8 -F -c stk500v2 -P /dev/ttyS0 -v -e

avrdude: Version 5.11.1, compiled on Apr 28 2013 at 18:46:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/sinan/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : /dev/ttyS0
         Using Programmer              : stk500v2
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom         4    20   128    0 no        512    4      0 
9000  9000 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128 
4500  4500 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0 
0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: STK500
         Hardware Version: 2
         Firmware Version Master : 2.10
         Topcard         : Unknown
         Vtarget         : 5.1 V
         SCK period      : 276.7 us
         Varef           : 0.0 V
         Oscillator      : 14.400 kHz

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.09s

avrdude: Device signature = 0x1e9307
avrdude: safemode: lfuse reads as EF
avrdude: safemode: hfuse reads as D9
avrdude: erasing chip

avrdude: safemode: lfuse reads as EF
avrdude: safemode: hfuse reads as D9
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von Philippe B. (philippe27)


Lesenswert?

Hasst du evtl. einen Atmega8A als Baustein?

Gruss Philippe

von Khan (Gast)


Lesenswert?

also auf dem Mega steht:

ATMELT 1313
ATMEGA8 - 16PU

von Khan (Gast)


Lesenswert?

Könnte es sein dass der STK500 defekt ist?

Kann man es irgenwie einer Testprozedur unterziehen?

Grüße
khan

von holger (Gast)


Lesenswert?

>Könnte es sein dass der STK500 defekt ist?

Wo programmierst du den ATMega? Im STK500 oder
in einer eigenen Schaltung? Wenn eigene Schaltung
ist es eher wahrscheinlich das die Schaltung scheisse ist.

von Khan (Gast)


Lesenswert?

beides habe ich probiert...
gleiches ergebniss

von holger (Gast)


Lesenswert?

>beides habe ich probiert...
>gleiches ergebniss

Gib avrdude mal ein -B10 mit.

von Khan (Gast)


Lesenswert?

ergab jetzt:

avrdude -B10 -p m8 -F -c stk500v2 -P /dev/ttyS0 -v -e

avrdude: Version 5.11.1, compiled on Apr 28 2013 at 18:46:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/sinan/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : /dev/ttyS0
         Using Programmer              : stk500v2
         Setting bit clk period        : 10.0
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom         4    20   128    0 no        512    4      0 
9000  9000 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128 
4500  4500 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
2000  2000 0x00 0x00
           calibration    0     0     0    0 no          4    0      0 
0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: STK500
         Hardware Version: 2
         Firmware Version Master : 2.10
         Topcard         : Unknown
         Vtarget         : 5.1 V
         SCK period      : 9.8 us
         Varef           : 0.0 V
         Oscillator      : 14.400 kHz

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.01s

avrdude: Device signature = 0x1e9307
avrdude: safemode: lfuse reads as E1
avrdude: safemode: hfuse reads as D9
avrdude: erasing chip

avrdude: safemode: lfuse reads as E1
avrdude: safemode: hfuse reads as D9
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von Khan (Gast)


Lesenswert?

Es hat funktioniert!!!

Was bedeutet dasss jetzt???

von holger (Gast)


Lesenswert?

>ergab jetzt:

Ja, und? Wo ist das Problem?

von holger (Gast)


Lesenswert?

>Es hat funktioniert!!!
>
>Was bedeutet dasss jetzt???

Dein ISP Takt war zu schnell.

von Khan (Gast)


Lesenswert?

Echt herzlichen Dank...

jetzt leuft alles super schnell...

Hätte nie an der ISP Takt gedacht...

wie sollte er denn sein?
kann ich ihn auf standart setzen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.