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
Darf ich mal raten? Du nimmst irgendeine !"§$%&-Programmer-Hardware wie PonyProg?
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
1 | Memory Detail : |
2 | |
3 | Block Poll Page Polled |
4 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
5 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
6 | eeprom 4 10 64 0 no 1024 4 0 9000 9000 0xff 0xff |
7 | Block Poll Page Polled |
8 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
9 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
10 | flash 33 6 64 0 yes 32768 128 256 4500 4500 0xff 0xff |
11 | Block Poll Page Polled |
12 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
13 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
14 | lfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00 |
15 | Block Poll Page Polled |
16 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
17 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
18 | hfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00 |
19 | Block Poll Page Polled |
20 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
21 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
22 | lock 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00 |
23 | Block Poll Page Polled |
24 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
25 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
26 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
27 | Block Poll Page Polled |
28 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
29 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
30 | 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.
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.