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?
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...
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.
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
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_8.html#SEC8
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>
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)
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
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
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.
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-with-a-macbook/
(gleicher Programmer, gleiches Problem => Tip von Jörg Hermann, als
Programmer butterfly (oder avr911) einzustellen)
http://www.mail-archive.com/avrdude-dev@nongnu.org/msg01001.html (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)
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?
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
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?
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
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
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
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 :( )
1
avrdude -c avr910 -p m8 -P /dev/ttyUSB0 -t
2
-> read lfuse
3
## antwort: lfuse 0xe1
4
-> write lfuse 00 0xe0
5
## antwort: NIX ( jedenfalls keine Fehlermeldung)
6
-> read lfuse
7
## antwort: lfuse 0xff (*grrrr*)
8
-> quit
dann:
1
-> avrdude -c avr911 -p m8 -P /dev/ttyUSB0 -n -v
2
YIKES ! Device signature 0xffffff
3
expected signature of atmega8 is 0x(Undsoweiter)
also nochmal...
1
...
2
YIKES ! Device signature 0x0000ff
3
...
1
... 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.