mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit AVRDude


Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir ein Controllerboard aufgebaut und wollte nun die Fuses 
setzten, aber avrdude spuckt mir direkt einen Fehler aus:

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA32 is 1E 95 02

Beschaltet ist das ganze wie folgt:

http://picfront.org/d/Q0vurMkkFJD/schaltplan_avr.gif

Ist die Beschaltung falsch oder woran kann es liegen?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AGND + AVCC nicht angeschlossen.

Und das nächste mal den Schaltplan bitte gleich ins Forum, nicht auf so 
eine Cookie+javascriptschleuder Seite mit Lebenszeit+Gencheck Werbung...

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke erstmal für die hilfe aber ich kann es grad nicht testen, da ich 
anscheinend den Spannungswandler geröstet habe. der gibt nur noch 1,6V 
ab ich versuch mir morgen mal nen neuen zu besorgen und es dann nochmal 
zu testen.

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar der Fehler tritt nun nicht mehr auf, dafür hab ich nun ein 
anderes Problem.

Und zwar folgendes:

avrdude> write hfuse 0 0xc9
>>> write hfuse 0 0xc9
avrdude (write): error writing 0xc9 at 0x00000, rc=-1
write operation not supported on memory type "hfuse"
avrdude (write): error writing 0xc9 at 0x00000 cell=0x00

Autor: Hannes Jaeger (pnuebergang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf ich mal raten? Du nimmst irgendeine !"§$%&-Programmer-Hardware wie 
PonyProg?

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze den mySmartUsb

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie lautet denn die Kommandozeile beim AVRDUDE Aufruf? Hast du dort den 
Atmega32 angegeben (damit klar ist, dass dein AVR eine hfuse hat) und 
den -u Parameter (damit du hfuse beschreiben kannst)? Kannst du die 
Fuses auslesen (würde ich zuerst machen bevor ich sie beschreibe)?

http://www.nongnu.org/avrdude/user-manual/avrdude_...

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Befehl zum aufruf lautet wie folgt:

avrdude -p m32 -P /dev/cu.SLAB_USBtoUART -c avr910 -t -u

Die Fuses kann ich nicht auslesen, dabei kommt folgendes raus:
avrdude> d lfuse
>>> d lfuse
error reading lfuse address 0x00000 of part ATMEGA32
read operation not supported on memory type "lfuse"
avrdude> d hfuse
>>> d hfuse
error reading hfuse address 0x00000 of part ATMEGA32
read operation not supported on memory type "hfuse"
avrdude>

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aktualiser deinen avrdude. Schau in das avrdude-configfile 
(/etc/avrdude.conf) ob da für den MEGA32 memories vom typ "hfuse" und 
"lfuse" definiert sind.
Bei mir stehen die drinnen.

Wenn die bei dir auch konfiguriert sind, brauchst du einen anderen 
Programmer. Über das AVR910-Protokoll (das dein Programmer scheinbar 
verwendet) KANN das Fuse-Setzen funktionieren, MUSS aber nicht.
(Im Zweifelsfall mal die Serielle Kommunikation mitlesen, und schauen 
wie der Programmer auf die entsprechenden Kommandos reagiert)

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist was grundlegend komisch.

Was gibt denn die erweiterte Info von AVRDUDE aus (Versionsnummer 
AVRDUDE, Device Signature)?

% avrdude -vvv -p m32 -P /dev/cu.SLAB_USBtoUART -c avr910 -t -u

Und dann Ansicht des Speicherlayouts, wie im Beispiel oben:

> part

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jep Memories sind gesetzt.

Ich schau mal wie ich das mit dem mitlesen bei meinem PowerBook 
hinbekomme.

Ein andere Programm wird wahrscheinlich schwer an nem Mac...


Danke schonmal für die Hilfe

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         33     6    64    0 yes     32768  128    256  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00


avrdude: Version 5.3.1.osxintelhack, compiled on Feb  2 2007 at 03:18:01
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/


Ich hoffe das meinst du.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein Teil. Der Teil zeigt, um welches AVRDUDE es geht und dass 
die Atmega32 korrekt on der Kommandozeile und dem Konfigurationsfile von 
AVRDUDE übernommen wurden.

Was fehlt ist das, was AVRDUDE von dem aktuell angeschlossenen ATmega32 
mitbekommt. Ein erster Hinweis wäre z.B. die ausgelesene Device 
Signature oder die ausgelesenen Fuses. Wenn es ein fabrikneuer Atmega32 
ist könnte man die ausgelesenen Fuses-Werte mit den Werten aus dem 
Datenblatt vergleichen und so herausfinden, ob die Kommunikation Rechner 
<-> mysmartUSB <-> Atmega32  in Ordnung ist.

Lies auch

Beitrag "MAC OS X avrdude"
http://tinkerlog.com/2007/09/29/programming-avr-wi... 
(gleicher Programmer, gleiches Problem => Tip von Jörg Hermann, als 
Programmer butterfly (oder avr911) einzustellen)
http://www.mail-archive.com/avrdude-dev@nongnu.org... (wenn 
read auch nicht geht, probieren!)
http://www.ladyada.net/make/usbtinyisp/avrdude.html (Link für Avrdude 
5.4 Binaries für Intel-Mac OSX, und Sourcen für 5.5, wenn du selber 
übersetzen kannst)
http://www.hoepfl.de/articles/2008/02/AVR_am_Mac.html (5.5 aufm MAC 
selber kompilieren)

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nach langer Zeit habe ich mal wieder probiert mich mit meinem Problem 
hier auseinander zu setzen.

Mittlerweile kann ich die Fuses auch gescheit auslesen und es sind auch 
die im Datenblatt des ATmega angegeben.

Aber schreiben kann ich die Fuses immer noch nicht.

Ist es wirklich ein HardwareProblem des Programmieradapters oder gibt es 
noch eine andere Lösung?

Autor: _BT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

kannst du deine hardware zur not mal auf einem windows system 
ausprobieren? also ich hab auch einen mySmartUsb und fuse auch mega32 
und es geht definiv... aber ich arbeite halt unter windoofs :-/ ... das 
ganze mal an einen windoofs-pc probieren und dann könnte man vielleicht 
die hardware ausschließen ;-)

cu BT

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab momentan leider keinen Windows PC zur Verfügung, Mitte der Woche 
bekomme ich wahrscheinlich einen geliehen.

Arbeitest du auch mit avrdude am win pc oder mit was anderem?

Autor: Detlef Nolte (xunil)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe momentan das gleich Problem, aber unter Linux.
Sowohl ATTiny13 als auch Mega8 weigern sich beharrlich einen anderen 
Wert in die Fusebits zu übernehmen. Programme ins Flash schreiben 
funktioniert allerdings gut.
Mein Equipment:
-mysmartUSB (2.11)
-avrdude 5.5
Im Dateianhang habe ich mal ein Brennvorgang geloogt.
Suche auch vergeblich bisher nach einer Lösung.

Gruß xunil

Autor: Frederik Krämer (n0ll4k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habs nun mitm windows pc hinbekommen die fuse bits zu setzen, 
von daher denke ich das es irgendwie mit ddem treiber oder so 
zusammehängt.

Autor: jackfritt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mysmartUSB V2.11 verlangt avr910 als Programmer. Leider ist in avrdude 
5.10 immer noch nich der ATtiny13 damit zu programmieren. Also in die 
avrdude.conf folgendes mit unter ATtiny13 aufnehmen, so kann er dann 
korrekt programmiert werden(inkl. Fuse Bits).

#------------------------------------------------------------
# ATtiny13
#------------------------------------------------------------

part
    id                  = "t13";
    desc                = "ATtiny13";
     has_debugwire = yes;
     flash_instr   = 0xB4, 0x0E, 0x1E;
     eeprom_instr  = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
               0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
               0x99, 0xE1, 0xBB, 0xAC;
    stk500_devcode      = 0x14;
    avr910_devcode      = 0x55;
......

Damit kann man dann auch den ATtiny13 programmieren. Vorallem die Fuses 
setzen.

Achtung! Programmieren geht auch mit avr911. Allerdings geht fas Fuses 
setzen nicht und man bekommt eine Fehlermeldung. Programm läuft aber :)

Reading | ################################################## | 100% 
0.12s

avrdude: verifying ...
avrdude: 226 bytes of flash verified
avrdude: reading input file "0x7a"
avrdude: writing lfuse (1 bytes):

Writing |  ***failed;
################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0x7a:
avrdude: load data lfuse data from input file 0x7a:
avrdude: input file 0x7a contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 
0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xff"
avrdude: writing hfuse (1 bytes):

Writing |  ***failed;

hf,

Joerg

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

diese Meldung hatte ich beim 328-er auch:

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATmega328p is 1E 95 02

Ich arbeite mit Ubuntu 11.04, starte das Programm AVR8-burn-o-mat über 
die Kommandozeile mit sudo, damit er auf das USB-Device des AVR ISP mkII 
zugreifen darf.
Die Meldung kommt sowohl beim Lesen als auch beim Schreiben oder Verify.

Ich bin mir folgender Fehler zuvor bewusst:
a) falsche Flash-Datei für den Bootloader
b) vertausche Fuse-Werte

Ich habe den 328-er gegen einen funktionierenden vom Arduino Uno 
getauscht. Dann habe ich den Flash und die Fuses gelesen. Wenn ich diese 
Daten in einen frischen Chip flashe, funzt alles.

Preisfrage:
Was ist nun mit dem gegrillten Chip? Bekommt man den wieder hin oder ist 
das mein "Lehrgeld"? Ich habe es nicht geschafft, mit dem avrdude (5.10) 
über den Parameter -F den Check zu überspringen. Geht das dann nur ohne 
die Java-GUI?

Bye,
Tom

Autor: brungi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits.

Ich habe so ein ähnliches Problem. Das hatte ich auch schon im Forum von 
myavr.de gepostet. Leider noch nicht mal das obligatorische RTFM als 
Antwort.

Ich arbeite mit:
openSuSE 11.4 auf m Laptop, mysmartUSB 2.11, avrdude 5.11... , 
myavrmkII, und atmega8.

Problem: Ich kann den Flash-Speicher des µC s lesen und schreiben, ich 
kann auch die fuses und locks lesen. Aber ich kann die Fuses nicht 
schreiben.

Das Problem besteht sowohl mit der Konfig´ wie oben als auch mit nem 
ATmega32 auf einer selbstgebauten (Lochraster)-Platine.

Ich kann mich daran erinnern, daß ich vor ca. 1/2 Jahr einen atmega32 
gefust habe. Das hat nach langen versuchen mit Programmer avr911 
funktioniert.

Jetzt geht mit avr911 garnichts. (kann lesen und auch flashen, aber 
nicht fuses schreiben.

Mit avr910 schreibt er tatsächlich in die fuses, leider kann ich den 
atmega8 danach wegwerfen, weil die Signatur des µC auf 0xffffff gesetzt 
wird, genauso alle fuses auf 0xff.

Gestern abend folgendes Fänomen:
avrdude mit programmer avr910 im terminalmodus

( Der Code ist aus der Erinnerung nachgetippt weil mir durch ´s verfusen 
langsam die atmega8 ausgehen :(  )
 avrdude -c avr910 -p m8 -P /dev/ttyUSB0 -t
-> read lfuse
## antwort:  lfuse 0xe1
-> write lfuse 00 0xe0
## antwort: NIX ( jedenfalls keine Fehlermeldung)
-> read lfuse
## antwort: lfuse 0xff (*grrrr*)
-> quit

dann:
-> avrdude -c avr911 -p m8 -P /dev/ttyUSB0 -n -v
YIKES ! Device signature 0xffffff
expected signature of atmega8 is 0x(Undsoweiter)
also nochmal...
...
YIKES ! Device signature 0x0000ff
...
... signature 0x00ffff
und so weiter...

Also liegt s doch an der kommunikation irgendwo zwischen meinem Laptop
und dem atmega8. Vielleicht der USB-Controller meines Laptops ?
Oder das USB-Kabel? Oder der mysmartUSB2.11 ? Oder einfach nur am 
avrdude ?

Für Hinweise was es noch sein könnte wäre ich sehr dankbar.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.