- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Atmega32 reagiert nicht mehr nach fuse Änderung

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Anzeige

    Praxistest und DIY Projekte
    Zitat Zitat von totix800
    Da ich das RN-Control Board benutze habe ich doch automatisch einen 16 Mhz Quarz betriebsbereit oder?
    Zumindest die neueren RN_Control haben eigentlich einen Bootloader so das sie über RS232 Programmiert werden können.

    Der ist allerdings in der Regel "Wech" wenn der Chip über ISP programmiert wird........

    Mit der Ausgabe von Deinem Brenner komme (ich) nicht klar, ich benutze AVR Studio da bekomme ich die Fuse Einstellungen in Klartext.
    Mit einem Datenblatt sollte man aber finden können was und Wo gesetzt sein sollte.

    Gruß Richard

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    04.07.2010
    Beiträge
    19
    Hi,

    also ich hab jetzt mal ein bischen rumprobiert und mittels des Online fuse calculator:

    http://www.engbedded.com/fusecalc/

    CKOPT bei meinem funktionierenden mega32 aktiviert und auf externen Quarz umgestellt. Ich hab dann versucht das Signal des funktionierenden von XTAL2 auf XTAL1 des anderen zu legen und einfach mal ein Programm zu überspielen, dass einen PORT auf Output stellt. Leider kommt da nichts.

    Ich hab aber auch einfach mal interessehalber mit avrdude die fuses des funktionierenden ausgelesen und so wie ich das sehe, kommt da genau das selbe raus wie bei dem anderen. Das würde darauf schließen, dass sie sich mit dem Programmer nicht richtig auslesen lassen oder?

    Code:
    avrdude -p atmega32 -c AVR910 -P /dev/ttyUSB0 -v -U lfuse:r:-:i -F
    
    avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
             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/toti/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : /dev/ttyUSB0
             Using Programmer              : AVR910
             AVR910_devcode (avrdude.conf) : 0x72
             AVR Part                      : ATMEGA32
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             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    10    64    0 no       1024    4      0  9000  9000 0xff 0xff
               flash         33     6    64    0 yes     32768  128    256  4500  4500 0xff 0xff
               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
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
    
             Programmer Type : AVR910
             Description     : Atmel Low Cost Serial Programmer
    
    Found programmer: Id = "AVR ISP"; type = S
        Software Version = 2.5; Hardware Version = 2.0
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize = 512 bytes.
    
    Programmer supports the following devices:
        Device code: 0x01 = (unknown)
        Device code: 0x02 = (unknown)
        Device code: 0x03 = (unknown)
        Device code: 0x04 = (unknown)
        Device code: 0x05 = (unknown)
        Device code: 0x06 = (unknown)
        Device code: 0x07 = (unknown)
        Device code: 0x08 = (unknown)
        Device code: 0x09 = (unknown)
        Device code: 0x0a = (unknown)
        Device code: 0x0b = (unknown)
        Device code: 0x0c = (unknown)
        Device code: 0x0d = (unknown)
        Device code: 0x0e = (unknown)
        Device code: 0x0f = (unknown)
        Device code: 0x10 = (unknown)
        Device code: 0x11 = (unknown)
        Device code: 0x12 = (unknown)
        Device code: 0x13 = AT90S1200
        Device code: 0x14 = (unknown)
        Device code: 0x15 = (unknown)
        Device code: 0x16 = (unknown)
        Device code: 0x17 = (unknown)
        Device code: 0x18 = (unknown)
        Device code: 0x19 = (unknown)
        Device code: 0x1a = (unknown)
        Device code: 0x1b = (unknown)
        Device code: 0x1c = (unknown)
        Device code: 0x1d = (unknown)
        Device code: 0x1e = (unknown)
        Device code: 0x1f = (unknown)
        Device code: 0x20 = ATtiny84
        Device code: 0x21 = (unknown)
        Device code: 0x22 = (unknown)
        Device code: 0x23 = (unknown)
        Device code: 0x24 = (unknown)
        Device code: 0x25 = (unknown)
        Device code: 0x26 = (unknown)
        Device code: 0x27 = (unknown)
        Device code: 0x28 = AT90S4414
        Device code: 0x29 = (unknown)
        Device code: 0x2a = (unknown)
        Device code: 0x2b = (unknown)
        Device code: 0x2c = (unknown)
        Device code: 0x2d = (unknown)
        Device code: 0x2e = (unknown)
        Device code: 0x2f = (unknown)
        Device code: 0x30 = AT90S4433
        Device code: 0x31 = (unknown)
        Device code: 0x32 = (unknown)
        Device code: 0x33 = (unknown)
        Device code: 0x34 = AT90S2333
        Device code: 0x35 = (unknown)
        Device code: 0x36 = (unknown)
        Device code: 0x37 = (unknown)
        Device code: 0x38 = AT90S8515
        Device code: 0x39 = (unknown)
        Device code: 0x3a = ATMEGA8515
        Device code: 0x3b = (unknown)
        Device code: 0x3c = (unknown)
        Device code: 0x3d = (unknown)
        Device code: 0x3e = (unknown)
        Device code: 0x3f = (unknown)
        Device code: 0x40 = (unknown)
        Device code: 0x41 = ATMEGA103
        Device code: 0x42 = (unknown)
        Device code: 0x43 = ATMEGA128
        Device code: 0x44 = (unknown)
        Device code: 0x45 = ATMEGA64
        Device code: 0x46 = (unknown)
        Device code: 0x47 = (unknown)
        Device code: 0x48 = (unknown)
        Device code: 0x49 = (unknown)
        Device code: 0x4a = (unknown)
        Device code: 0x4b = (unknown)
        Device code: 0x4c = AT90S2343
        Device code: 0x4d = (unknown)
        Device code: 0x4e = (unknown)
        Device code: 0x4f = (unknown)
        Device code: 0x50 = (unknown)
        Device code: 0x51 = (unknown)
        Device code: 0x52 = (unknown)
        Device code: 0x53 = (unknown)
        Device code: 0x54 = (unknown)
        Device code: 0x55 = ATtiny12
        Device code: 0x56 = ATtiny15
        Device code: 0x57 = (unknown)
        Device code: 0x58 = (unknown)
        Device code: 0x59 = (unknown)
        Device code: 0x5a = (unknown)
        Device code: 0x5b = (unknown)
        Device code: 0x5c = (unknown)
        Device code: 0x5d = (unknown)
        Device code: 0x5e = ATtiny2313
        Device code: 0x5f = (unknown)
        Device code: 0x60 = ATMEGA161
        Device code: 0x61 = (unknown)
        Device code: 0x62 = (unknown)
        Device code: 0x63 = ATMEGA162
        Device code: 0x64 = ATMEGA163
        Device code: 0x65 = (unknown)
        Device code: 0x66 = (unknown)
        Device code: 0x67 = (unknown)
        Device code: 0x68 = AT90S8535
        Device code: 0x69 = ATMEGA8535
        Device code: 0x6a = (unknown)
        Device code: 0x6b = (unknown)
        Device code: 0x6c = AT90S4434
        Device code: 0x6d = (unknown)
        Device code: 0x6e = (unknown)
        Device code: 0x6f = (unknown)
        Device code: 0x70 = (unknown)
        Device code: 0x71 = (unknown)
        Device code: 0x72 = ATMEGA32
        Device code: 0x73 = (unknown)
        Device code: 0x74 = ATMEGA6450
        Device code: 0x75 = ATMEGA6490
        Device code: 0x76 = ATMEGA8
        Device code: 0x77 = (unknown)
        Device code: 0x78 = ATMEGA169
        Device code: 0x79 = (unknown)
        Device code: 0x7a = (unknown)
        Device code: 0x7b = (unknown)
        Device code: 0x7c = (unknown)
        Device code: 0x7d = (unknown)
        Device code: 0x7e = (unknown)
        Device code: 0x7f = (unknown)
    
    avrdude: AVR910_devcode selected: 0x01
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.06s
    
    avrdude: Device signature = 0xffffff
    avrdude: Yikes!  Invalid device signature.
    avrdude: Expected signature for ATMEGA32 is 1E 95 02
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as FF
    avrdude: reading lfuse memory:
    
    Reading | ################################################## | 100% 0.01s
    
    avrdude: writing output file "<stdout>"
    :01000000FF00
    :00000001FF
    
    avrdude: safemode: lfuse reads as FF
    avrdude: safemode: hfuse reads as FF
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.
    Was ich auch noch komisch finde, dass ich immer den Befehl -F benutzen muss, weil scheinbar die Signatur des megas nicht stimmt. Ist das ein Fehler? Ohne Force Parameter sieht der Output so aus:

    Code:
    avrdude -p atmega32 -c AVR910 -P /dev/ttyUSB0 -v -U lfuse:r:-:i
    
    avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
             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/toti/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : /dev/ttyUSB0
             Using Programmer              : AVR910
             AVR910_devcode (avrdude.conf) : 0x72
             AVR Part                      : ATMEGA32
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             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    10    64    0 no       1024    4      0  9000  9000 0xff 0xff
               flash         33     6    64    0 yes     32768  128    256  4500  4500 0xff 0xff
               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
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
    
             Programmer Type : AVR910
             Description     : Atmel Low Cost Serial Programmer
    
    Found programmer: Id = "AVR ISP"; type = S
        Software Version = 2.5; Hardware Version = 2.0
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize = 8 bytes.
    
    Programmer supports the following devices:
        Device code: 0x01 = (unknown)
        Device code: 0x02 = (unknown)
        Device code: 0x03 = (unknown)
        Device code: 0x04 = (unknown)
        Device code: 0x05 = (unknown)
        Device code: 0x06 = (unknown)
        Device code: 0x07 = (unknown)
        Device code: 0x08 = (unknown)
        Device code: 0x09 = (unknown)
        Device code: 0x0a = (unknown)
        Device code: 0x0b = (unknown)
        Device code: 0x0c = (unknown)
        Device code: 0x0d = (unknown)
        Device code: 0x0e = (unknown)
        Device code: 0x0f = (unknown)
        Device code: 0x10 = (unknown)
        Device code: 0x11 = (unknown)
        Device code: 0x12 = (unknown)
        Device code: 0x13 = AT90S1200
        Device code: 0x14 = (unknown)
        Device code: 0x15 = (unknown)
        Device code: 0x16 = (unknown)
        Device code: 0x17 = (unknown)
        Device code: 0x18 = (unknown)
        Device code: 0x19 = (unknown)
        Device code: 0x1a = (unknown)
        Device code: 0x1b = (unknown)
        Device code: 0x1c = (unknown)
        Device code: 0x1d = (unknown)
        Device code: 0x1e = (unknown)
        Device code: 0x1f = (unknown)
        Device code: 0x20 = ATtiny84
        Device code: 0x21 = (unknown)
        Device code: 0x22 = (unknown)
        Device code: 0x23 = (unknown)
        Device code: 0x24 = (unknown)
        Device code: 0x25 = (unknown)
        Device code: 0x26 = (unknown)
        Device code: 0x27 = (unknown)
        Device code: 0x28 = AT90S4414
        Device code: 0x29 = (unknown)
        Device code: 0x2a = (unknown)
        Device code: 0x2b = (unknown)
        Device code: 0x2c = (unknown)
        Device code: 0x2d = (unknown)
        Device code: 0x2e = (unknown)
        Device code: 0x2f = (unknown)
        Device code: 0x30 = AT90S4433
        Device code: 0x31 = (unknown)
        Device code: 0x32 = (unknown)
        Device code: 0x33 = (unknown)
        Device code: 0x34 = AT90S2333
        Device code: 0x35 = (unknown)
        Device code: 0x36 = (unknown)
        Device code: 0x37 = (unknown)
        Device code: 0x38 = AT90S8515
        Device code: 0x39 = (unknown)
        Device code: 0x3a = ATMEGA8515
        Device code: 0x3b = (unknown)
        Device code: 0x3c = (unknown)
        Device code: 0x3d = (unknown)
        Device code: 0x3e = (unknown)
        Device code: 0x3f = (unknown)
        Device code: 0x40 = (unknown)
        Device code: 0x41 = ATMEGA103
        Device code: 0x42 = (unknown)
        Device code: 0x43 = ATMEGA128
        Device code: 0x44 = (unknown)
        Device code: 0x45 = ATMEGA64
        Device code: 0x46 = (unknown)
        Device code: 0x47 = (unknown)
        Device code: 0x48 = (unknown)
        Device code: 0x49 = (unknown)
        Device code: 0x4a = (unknown)
        Device code: 0x4b = (unknown)
        Device code: 0x4c = AT90S2343
        Device code: 0x4d = (unknown)
        Device code: 0x4e = (unknown)
        Device code: 0x4f = (unknown)
        Device code: 0x50 = (unknown)
        Device code: 0x51 = (unknown)
        Device code: 0x52 = (unknown)
        Device code: 0x53 = (unknown)
        Device code: 0x54 = (unknown)
        Device code: 0x55 = ATtiny12
        Device code: 0x56 = ATtiny15
        Device code: 0x57 = (unknown)
        Device code: 0x58 = (unknown)
        Device code: 0x59 = (unknown)
        Device code: 0x5a = (unknown)
        Device code: 0x5b = (unknown)
        Device code: 0x5c = (unknown)
        Device code: 0x5d = (unknown)
        Device code: 0x5e = ATtiny2313
        Device code: 0x5f = (unknown)
        Device code: 0x60 = ATMEGA161
        Device code: 0x61 = (unknown)
        Device code: 0x62 = (unknown)
        Device code: 0x63 = ATMEGA162
        Device code: 0x64 = ATMEGA163
        Device code: 0x65 = (unknown)
        Device code: 0x66 = (unknown)
        Device code: 0x67 = (unknown)
        Device code: 0x68 = AT90S8535
        Device code: 0x69 = ATMEGA8535
        Device code: 0x6a = (unknown)
        Device code: 0x6b = (unknown)
        Device code: 0x6c = AT90S4434
        Device code: 0x6d = (unknown)
        Device code: 0x6e = (unknown)
        Device code: 0x6f = (unknown)
        Device code: 0x70 = (unknown)
        Device code: 0x71 = (unknown)
        Device code: 0x72 = ATMEGA32
        Device code: 0x73 = (unknown)
        Device code: 0x74 = ATMEGA6450
        Device code: 0x75 = ATMEGA6490
        Device code: 0x76 = ATMEGA8
        Device code: 0x77 = (unknown)
        Device code: 0x78 = ATMEGA169
        Device code: 0x79 = (unknown)
        Device code: 0x7a = (unknown)
        Device code: 0x7b = (unknown)
        Device code: 0x7c = (unknown)
        Device code: 0x7d = (unknown)
        Device code: 0x7e = (unknown)
        Device code: 0x7f = (unknown)
    
    avrdude: AVR910_devcode selected: 0x72
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.06s
    
    avrdude: Device signature = 0xffffff
    avrdude: Yikes!  Invalid device signature.
             Double check connections and try again, or use -F to override
             this check.
    
    
    avrdude done.  Thank you.
    Gruß,
    toti

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Wenn die Signatur nicht richtig erkannt wird, dann ist irgendwo der Wurm drinnen. Wenn du dann trotzdem Programmierst dann kann allerhand Unsinn im Kontroller stehen.
    Hast du ein anderes Board zum Programmieren? Damit du testen kannst ob der Programmer defekt ist oder das Board.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    04.07.2010
    Beiträge
    19
    Also das er die Signatur nicht richtig erkannt hat war schon immer so. Ich musste immer per -F forcen. Ich hab den Programmer mit zwei verschiedenen megas benutzt und hab beide ne ganze weile damit programmiert, bis der eine halt nicht mehr ging...Bei beiden wurde die Signatur nicht erkannt.
    Es kommt auch öfter vor, dass ich das Programm zwei mal hintereinander übertragen muss, weil sonst nichts passiert.

  5. #15
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    33
    Beiträge
    1.192
    Hallo,
    versuche doch einmal langsamer zu übertragen.
    Wenn ich Fuses übertrage, dann noch mit "-B 10" in der Kommandozeile.
    Ich verwende den USBasp-Adapter.
    Ein frischer Atmega kommt anfangs bei normaler Übertragungsgeschwindigkeit irgendwie nicht mit.
    Nur wenn ich noch -B 10 anfüge, funktioniert das.
    Wenn die Fuses dann einmal entsprechend gesetzt wurden, kann der Atmega auch die normale Geschwindigkeit über ISP vertragen.

    Grüße,
    Bernhard

  6. #16
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn die Signatur nicht richtig erkannt wird, heißt dass das die Verbindung über die ISP Schnittstelle nicht sicher funktioniert. Da man wohl was einigermaßen sinnvolles Auslesen kann und ggf. auch schreiben kann, ist es hier wohl so das es gerade an der Grenze ist. In diesem Fall sollte man erstmal klären woran das liegt.

    Bevor man keine zuverlässige Verbindung hat, sollte man nicht auf den µC schreiben. Es kann dann nämlich auch mal versehentlich was anderes als geplant geschrieben werden. Schreiben mit einer schlechten Verbindung ist riskant. Wenn man ganz viel Pech hat, kann sogar schon beim "lesen" was passieren - da sind die Gefahren aber meist kleiner.

    Die Option -F sollte man auch mit viel Vorsicht (z.B. für neuen noch nicht unterstützten µC Typ) nutzen. Da ist immer ein Risiko dabei, selbst wenn die Verbindung sonst stabil läuft.

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    04.07.2010
    Beiträge
    19
    Mhh, also an der verkabelung sollte es eigentlich nicht liegen, das ist son wannenstecker, da müsste das problem schon direkt auf der platine vom Programmer liegen. Oder auf dem rn boad.
    BMS hat ja schon dir geschwindigkeit angesprochen, mein ihr das könnte etwas bewirken? Was genau bringt -B 10? Hab leider grade keinen zugang zur man page von avrdude.

    Gruß,
    toti

  8. #18
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    33
    Beiträge
    1.192
    -B bitclock
    Specify the bit clock period for the JTAG interface or the ISP clock (JTAG ICE only). The value is a floating-point number in microseconds. The default value of the JTAG ICE results in about 1 microsecond bit clock period, suitable for target MCUs running at 4 MHz clock and above. Unlike certain parameters in the STK500, the JTAG ICE resets all its parameters to default values when the programming software signs off from the ICE, so for MCUs running at lower clock speeds, this parameter must be specified on the command-line.
    Quelle: AVRDUDE: 2.1 Option Descriptions

    -B 10 bedeutet also 10µSekunden Taktperiode (=100kHz ISP Clock maximal).
    Vielleicht muss es auch noch langsamer sein, z.B. wären -B 100 ja 100µSekunden, also 10kHz ISP Clock maximal, da MUSS es ja dann funktionieren, sonst ist etwas am Programmieradapter oder der Kabelverbindung faul !

    Also wie schon geschrieben, Fuses übertragen bei neu gekauften Atmegas ging bei mir (über USBasp) NUR mit dem Zusatz "-B 10" in der Kommandozeile von avrdude.

    Grüße,
    Bernhard

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress