Hallo zusammen, ich wollte einen Atmega 644PA mit dem "AVR Burn-O-Mat" brennen und habe dafür hier aus dem Forum die gänderte XML-Konfigurationsdatei geladen, in der auch der 644P enthalten ist. Da die Signatur vom 644P und dem 644PA gleich zu sein scheint, habe ich beim Brennen einfach den 644P ausgewählt. Beim ersten Brennvorgang leuchtete die Schreiblampe nach 3 min noch immer und ich habe einfach mal den Stecker gezogen. Ich dachte, dass es an der .hex-Datei liegen könnte und habe beim zweiten Versuch eine andere Datei ausgewählt. Diese konnte ich brennen, aber es dauerte bestimmt 10x so lange, wie normalerweise. Danach habe ich die Fuses ausgelesen und nur den CKDIV8 ausgeschaltet. Hiernach konnte ich die Fuses auch erfolgreich erneut auslesen. Nun habe ich probiert die richtige Datei zu brennen. Beim Verifizieren kam dann ein Fehler und seitdem kann ich auf den AVR nicht mehr zugreifen. An MOSI, SCK und RESET ändern sich die Pegel am AVR, aber MISO bleibt stets unverändert. Wo könnte der Fehler liegen und habe ich eine Chance den AVR zu retten? Vielen Dank
Es liegt gewiss nicht daran, ob du da nun ein "A" dabei hattest oder nicht. Die A-Typen sind ohnehin als drop-in replacement konzipiert, um die alten in bestehenden Designs abzulösen. Dein Problem muss irgendwo anders liegen. Hast du mal probiert, den SPI-Takt runterzusetzen? (Keine Ahnung, was du als Programmer benutzt und wie gut der überhaupt ist.) Hast du die Möglichkeit, per JTAG zu arbeiten? JTAG taktet selbst und braucht daher keinen funktionierenden CPU-Takt.
Ich nutze einen selbst aufgebauten USBasp, der bisher immer einwandfrei funktioniert hat. Der Takt ist dort schon per Jumper runter gestellt. JTAG habe ich leider nicht zur Verfügung. Mich wundert es aber, dass schon beim ersten Programmierversuch die Programmierung nicht abgeschlossen wurde, sondern anscheinend einfach stehen blieb. Ist es möglich, dass der AVR von Anfang an schon einen Schaden hatte?
R. B. schrieb: > Ist es möglich, dass der AVR von Anfang an schon einen Schaden hatte? das glaub ich kaum denn nach der herstellung werden jede geprüft ob er geht.
Andre St. schrieb: > das glaub ich kaum denn nach der herstellung werden jede geprüft ob er > geht. Und je nach Händler auch garantiert nicht unter Missachtung der ESD-Vorgaben neu verpackt und verschickt. ;-) DOA ist auch bei Halbleitern möglich.
Er funktioniert wieder. Ich weiß nicht wie, aber irgendwie war er verfust. Nachdem ich von einem anderen ATmega ein getoggeltes Signal an Xtal1 gelegt habe, konnte ich wieder darauf zugreifen. Es ist mir allerdings nicht klar, wie das passieren konnte. Die .hex-Datei scheint tatsächlich irgendwie fehlerhaft zu sein. Andere Dateien lassen sich problemlos flashen. Nur die eine nicht. Aber irgendetwas stimmt trotzdem nicht. Ich kann die Fuses nicht korrekt einstellen! Wenn ich bei CKDIV8 das Häkchen entferne kann ich die Fuses schreiben und er sagt mir, dass alles erfolgreich verlief. Wenn ich die Fuses allerdings danach erneut auslese sieht das ganze wie oben in der angehängten Grafik aus. Ab und zu bekomme ich auch eine Fehlermeldung: avrdude.exe: Device signature = 0x3c0102 avrdude.exe: Expected signature for ATMEGA644P is 1E 96 0A Wenn ich allerdings danach nochmal auf lesen oder schreiben gehe, kommt die Fehlermeldung nicht mehr. Woran kann das liegen? Edit: Auch das Schreiben von Programmen oder mindestens das Verifizieren klappt nicht: avrdude.exe: verifying ... avrdude.exe: verification error, first mismatch at byte 0x0000 0x12 != 0x00 avrdude.exe: verification error; content mismatch Und wenn ich die Fuses mehrfach hintereinander auslese, werden immer andere gesetzte Fuses angezeigt. Gibt es vielleicht doch Unterschiede zwischen dem 644P und dem 644PA, die zu diesen Problemen führen können?
:
Bearbeitet durch User
Die Glaskugel sagt, dass dein Programmer einen Schuss weg hat. Am Prozessor liegt es nicht.
Georg G. schrieb: > Die Glaskugel sagt, dass dein Programmer einen Schuss weg hat. Am > Prozessor liegt es nicht. Das glaube ich ehrlich gesagt nicht. Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie Fehler auf. Ich vermute eher, dass AVRdude bzw. der Burn-O-Mat Probleme mit dem 644PA hat. Aber wieso, weshalb, keine Ahnung.
R. B. schrieb: > Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie > Fehler auf. Auch, nachdem der Fehler beim 644 aufgetreten ist? Hast du seitdem mal wieder andere Prozessoren gebrannt?
ich schrieb: > R. B. schrieb: >> Ich brenne regelmäßig damit ATmega8-Prozessoren und es tauchen dabei nie >> Fehler auf. > > Auch, nachdem der Fehler beim 644 aufgetreten ist? > Hast du seitdem mal wieder andere Prozessoren gebrannt? Jepp, ebengerade testweise einen Mega8 und alles verlief einwandfrei wie immer. Ich habe zwischenzeitlich gegoogelt und auch andere Leute scheinen dieselben Probleme mit Avrdude und dem 644PA zu haben. Leider habe ich nur Sachen gefunden, die weder in Deutsch, noch in Englisch waren.
>Ab und zu bekomme ich auch eine Fehlermeldung: >avrdude.exe: Device signature = 0x3c0102 >avrdude.exe: Expected signature for ATMEGA644P is 1E 96 0A > >Wenn ich allerdings danach nochmal auf lesen oder schreiben gehe, kommt >die Fehlermeldung nicht mehr. > >Woran kann das liegen? >Und wenn ich die Fuses mehrfach hintereinander auslese, werden immer >andere gesetzte Fuses angezeigt. Das deutet auf jeden Fall schon mal auf einen zu hohen ISP Takt hin. Es könnte aber auch eine schlechte Verbindung sein, z.B. Kabel zu lang, Masse vergessen. Whatever. >avrdude.exe: Device signature = 0x3c0102 Schiebt man das vordere 0x3C mal eins nach rechts hat man ein 0x1E. Irgendwie das MSB verschluckt. Auch das deutet wieder auf das oben von mir gesagte hin.
Einen Schaltplan hat bisher auch noch keiner gesehen. Dann kommen noch AVCC nicht angeschlossen, nicht alle GND angeschlossen und vergessene Abblockkondensatoren in Frage.
Vielen Dank :-) Vermutlich ist des Rätsels Lösung die Tatsache, dass ich die Schaltung auf einem Breadboard aufgebaut habe. Allerdings sind die Drähte zum Progger max. 10 cm lang. Weiterhin sind beide GND angeschlossen und jeweils zwischen Vcc und Avcc 100nF gegen Ground. Die 5 V stammen aus einem 7805 der natürlich auch mehrere Kondensatoren besitzt. Die Kontakte sind ja da. Insofern verwundert es mich, dass das ganze so anfällig sein soll. Wieso kann ein solcher Aufbau völlig falsche Fuses setzen? Irgendwie ist mir das schleierhaft.
:
Bearbeitet durch User
>Vermutlich ist des Rätsels Lösung die Tatsache, dass ich die Schaltung >auf einem Breadboard aufgebaut habe. Allerdings sind die Drähte zum >Progger max. 10 cm lang. 10cm ist ok. Bei manchen Breadboards sind die blauen und roten Stromversorgungsschienen in der Mitte nicht verbunden. Check das mal.
Danke für den Tipp. Ich traue den Breadboardkontakten sowieso nicht und habe deshalb schon zu Beginn alles auf Durchgang geprüft und auch geschaut, wo wirklich GND anliegt und wo eine Spannung. Das passt alles soweit. Reset ist auch mit 10k gegen VCC beschaltet. Das sollte also auch passen. Mehr gibts an Schaltung erst einmal nicht. Das ist eine reine Minimalschaltung zum programmieren. Das ist irgendwie alles schon komisch. Beim Brennen eines Programms kommt jetzt immer: avrdude.exe: verification error, first mismatch at byte 0x0000 0x12 != 0x00
:
Bearbeitet durch User
Es liegt vermutlich am Aufbau. Versuche mal, in die 3 Programmierleitungen Serien-Widerstände (10 - 100 Ohm, was Du gerade da hast, aber keine Drahtwiderstände) zu legen. Das dämpft die Fehlanpassung --> weniger Ringing --> bessere Übertragung. Schau mal, ob die Vcc wirklich stabil ist und nicht schwingt, Gnd lieber mehrfach legen. Mein Tip: Breadboard weg, Lochraster her und mit CuL fädeln, ist 10 mal sicherer.
R. B. schrieb: > Ich vermute eher, dass AVRdude bzw. der Burn-O-Mat Probleme mit dem > 644PA hat. Dem AVRDUDE ist das Teil ziemlich egal. Das schiebt nur seine Anweisungen an dein USBasp rüber, das muss die Drecksarbeit dann machen. Setz' wirklich mal den ISP-Takt runter. So ein USBasp ist preiswert, aber kann keine Wunder vollbringen. Das Teil ist in erster Linie damit beschäftigt, den USB zu bedienen. Nur, während der Bus ihm Luft lässt, kann es sich gelegentlich mal um die Programmierung deines AVRs kümmern … das Signal sieht auf dem Logikanalysator ziemlich verquer aus ;-), aber es funktioniert durchaus, und es ist preiswert. Wenn du was Besseres haben willst, dann kauf' dir halt einen Dragon oder ein AVRISPmkII oder jetzt ein Atmel-ICE (Nachfolger des JTAGICE3).
Vielen Dank für die Antworten. Ich probiere am Wocheende mal einen Lochrasteraufbau. Vielleicht muss ich mir doch mal einen anderen Programmer zulegen. Bisher hat der USBasp immer einwandfrei gearbeitet. Der USBasp ist schon auf einen niedrigen Takt gejumpert. Falls ich den Takt auch per Software reduzieren kann, gebe ich zu, dass ich nicht weiß, wie ich das mit avrdude anstelle.
Da anscheinend ein USBasp nicht so toll ist, wird nun ein Dragon einziehen ;)
R. B. schrieb: > Falls ich den Takt auch per Software reduzieren kann, gebe ich zu, dass > ich nicht weiß, wie ich das mit avrdude anstelle. mit -B kann man den Takt per Software reduzieren.
Probiere mit -B1 der Controller mit mehr als 4 MHz läuft oder -B10
Martin schrieb: > mit -B kann man den Takt per Software reduzieren. Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp.
Jörg Wunsch schrieb:
> Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp.
Stimmt muss eigentlich die letzte Firmware von USBasp drauf sein oder?
Martin schrieb: > Jörg Wunsch schrieb: >> Voraussetzung ist eine hinreichend neue Firmware auf dem USBasp. > > Stimmt muss eigentlich die letzte Firmware von USBasp drauf sein oder? Ich habe keine Ahnung, welche Version drauf ist, aber sie ist bestimmt 2 Jahre alt. Nun freue mich mich auf den Drachen. USBasp ade ;-)
R. B. schrieb:
> Nun freue mich mich auf den Drachen
Und damit du keine Überraschung mit dem Drachen erlebst beachte bitte
das mit dem Gehäuse.
Josep Correa schrieb: > Und damit du keine Überraschung mit dem Drachen erlebst beachte bitte > das mit dem Gehäuse. Die Pappschachtel genügt. Die ESD-Matten sollte man natürlich rausnehmen. ;-) Mittlerweile kann man ja schon fast überlegen, ob man statt eines Drachens das nackte Board vom neuen Atmel-ICE kauft. Die Dinger kosten im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt): http://store.atmel.com/PartDetail.aspx?q=p:10500376;c:100112#tc:description Allerdings sind die 1,27-mm-Steckerchen nicht gerade gängig, die man zum Selbstcrimpen der Kabel bräuchte.
Jörg Wunsch schrieb: > Selbstcrimpen der Kabel Und für die Originalkabel will Atmel richtig Geld sehen.
Jörg Wunsch schrieb: > Wenn du was Besseres haben willst, dann kauf' dir halt einen Dragon > oder ein AVRISPmkII oder jetzt ein Atmel-ICE (Nachfolger des JTAGICE3). Jörg Wunsch schrieb: > Mittlerweile kann man ja schon fast überlegen, ob man statt eines > Drachens das nackte Board vom neuen Atmel-ICE kauft. Hm... Dann wird nen AVRDUDE 6.2 geben oder ;-)
Jörg Wunsch schrieb: > Mittlerweile kann man ja schon fast überlegen, ob man statt eines > Drachens das nackte Board vom neuen Atmel-ICE kauft. Die Dinger kosten > im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt): > > http://store.atmel.com/PartDetail.aspx?q=p:10500376;c:100112#tc:description Wenn man direkt beim Store in Atmel kauft, muss man dann die Einfuhrsteuer in DE zahlen bzw. wird man von Zoll zum Kasse gebeten weiss jemand was davon?
Markus schrieb: > Jörg Wunsch schrieb: >> Mittlerweile kann man ja schon fast überlegen, ob man statt eines >> Drachens das nackte Board vom neuen Atmel-ICE kauft. Die Dinger kosten >> im Atmel-Webshop USD 32 (plus Versand und 19 % EUSt): >> >> http://store.atmel.com/PartDetail.aspx?q=p:1050037... > > Wenn man direkt beim Store in Atmel kauft, muss man dann die > Einfuhrsteuer in DE zahlen bzw. wird man von Zoll zum Kasse gebeten > weiss jemand was davon? Wenn der Shop außerhalb der EU ist, musst du EUSt zahlen, immer. Auf einige Waren kommt noch Zoll drauf. Wenn der Wert der Ware+Porto unter etwa € 25.- liegt, würden die Abgaben die Verwaltungskosten nicht decken. Und daher - oh Wunder, die Behörde denkt betriebswirtschaflich - bekommst du es für lau. Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt?
Alles klar!
Jap es kommt aus Malaysia.
Georg G. schrieb:
> Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt?
Wäre schön zu wiessen wo man solche Stecker bekommt, eventuell lohnt
sich wie Jörg schreib, nur das PCB zu kaufen.
Avrdude schrieb: > Dann wird nen AVRDUDE 6.2 geben oder ;-) 6.1 reicht doch erstmal, oder? Im SVN isses schon drin.
Hi, Markus schrieb: > Alles klar! > Jap es kommt aus Malaysia. Ist jetzt die Frage wie hoch die Versandkosten sind. Wird aber wohl mehr als drei Euro sein ;-) Wobei ich sagen muss das Atmel gelernt zu haben scheint und das Preise sind wo ich auch so langsam beginne zu überlegen ob ich meine ATMEL Ausrüstung nicht mal auf einen neueren Stand bringe. (Da ich ATMEL seit 2008 nur noch in Ausnahmefällen einsetze will ich ja nun auch keine all zu hohen Summen für Dev. Tools auf den Tisch legen. Aber 30 bzw. 50Euro für einen neueren Debugger der auch die SAM debuggen kann ist ne Überlegung wert.) Daher: Kennt jemand die Versandkosten? Auf der Website finde ich keine Angaben und ich habe keine Lust erst den ganzen Bestellprozess incl. Reg. usw. zu durchlaufen nur festzustellen das die am ende 50Euro für Versand nach DL haben wollen... > > Georg G. schrieb: >> Kennt jemand die Bezeichnung der Stecker und weiß, wo man die bekommt? > > Wäre schön zu wiessen wo man solche Stecker bekommt, eventuell lohnt > sich wie Jörg schreib, nur das PCB zu kaufen. Wobei - wenn man eh nur die nackte PCB kauft um die in ein eigenes Gehäuse zu packen, dann könnte man intern auch KAbel direkt an die 1,27mm Buchsen anlöten (Geht ja auch auf der Platine, muss ja nicht die Kontakte selbst nehmen) und dann die Leitung auf gängige 2,54mm Wannenstecker führen die man als Kontakt zur Aussenwelt nutzt. Oder man holt sich die nächst höhere Version, Das Set mit ICE im Gehäuse und den zwei am häufigsten genutzten Programmierkabeln für 50 USD. Gruß Carsten
Versand: USD 27.- bei einem Exemplar, bei zweien sind es USD 33.-. Mehr habe ich nicht erforscht.
Seit heute ist der Drache eingezogen und ich finde meinen USBasp plötzlich total doof. Mit dem Dragon funktioniert alles auf anhieb. Und er ist einfach total komfortabel mit AVR Studio. Die Invesition hat sich sicher gelohnt!
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.