Hallo allerseits Ich habe vor kurzem das stk500 bekommen, und hab gerade damit angefangen ein wenig was selbst zu programmieren. Leider will es seit heute früh nichtmehr so wie ich es will. Gestern Abend habe ich noch ein wenig mit den Taktzahlen gespielt (Quarz eingesetzt usw...), und die UART Schnittstelle ausprobiert. Und seit heute früh geht einfach garnixmehr. Ich wollte einfach nur da weitermachen wo ich Gestern Abend aufgehört hatte (UART), als aufeinmal kein einziges byte mehr am PC angekommen ist, und der Controller auch auf kein Paket reagierte (Was den Tag davor ja noch problemlos funktioniert hatte). Dann dachte ich dass vielleicht die Taktzahl nicht stimmt, also habe ich alles überprüft (Jumper/Fuses) aber das war alles i.O. Und ausserdem müsste ja bei falsche Taktzahl wenigstens irgend ein Paket ankommen (auch wenn es natürlich das falsche ist). Das kam mir alles schon sehr merkwürdig vor, und ich hab dann versucht wenigstens wieder die LEDs direkt auf dem Board anzusprechen. Aber nichteinmal das funktionierte mehr. Auch das Beispielprogramm vom Handbuch wollte nichtmehr. Es ist mir klar das irgendwo der Wurm drin ist. Ich habe sogar den Verdacht dass er ganz offensichtlich ist aber ich komme nicht drauf.
Hast bestimmt ausversehen den µC übertaktet und das hat ihm dann nicht gefallen und er hat sich verabschiedet.
Das hab ich auch schon in Betracht gezogen (also dass der µC kaputt ist). Aber es war nie mehr als 8mhz, und ich hab nur atmega8515 und atmega16 benutzt sogar n nigelnagelneuen atmega16 hab ich eingesetzt... Das Problem besteht weiterhin
Gut wenn es mit nem neuen µC auch nicht klappt liegts woanders drann. Aber nur weil du maximal 8MHz verwendet hast, heißt das nicht dass du den µC nicht übertakten kannst. Dazu musst du nur auf Low-Frequence einstellen und High-Frequence dranhängen.
Robin Tönniges wrote: > Aber nur weil du maximal 8MHz verwendet hast, heißt das nicht dass du > den µC nicht übertakten kannst. Dazu musst du nur auf Low-Frequence > einstellen und High-Frequence dranhängen. Aber davon geht ein AVR mit Sicherheit nicht kaputt.
Hallo, @Robin Tönniges: Quark... Schon deshalb, weil der AVR auf dem STK500 immer per ext. Clock getaktet wird. Das spielt in allen Fuse-Varianten, egal ob ext. Crystal, Resonator oder Clock. Bei intern geht sowieso nichts zu übertakten. @Jonas: Programmieren, Verify, Flash lesen, Fuses lesen usw. geht? Signatur wird richtig gelesen? Auch nur ein AVR auf das Board gesteckt? Gruß aus Berlin Michael
Schätze mal, das Board ist per statischer Aufladung gestorben. Könntest probieren, einen manuellen Firmwareupgrade zu machen, ansonsten heißt es: µC des Boards tauschen.
"Programmieren, Verify, Flash lesen, Fuses lesen usw. geht?" jap funktioniert fehlerlos "Signatur wird richtig gelesen?" exakt "Auch nur ein AVR auf das Board gesteckt?" ja danke schonmal für die hilfe
Robin Tönniges wrote: > Benedikt K. wrote: >> Aber davon geht ein AVR mit Sicherheit nicht kaputt. > > Oh doch. Begründe das bitte.
Jonas wrote: > ... > sogar n nigelnagelneuen atmega16 hab ich eingesetzt... Das Problem > besteht weiterhin Hi und den Atmega16 (nicht der gleiche wie Atmega8515!) auch in den richtigen Sockel verwendet?
"und den Atmega16 (nicht der gleiche wie Atmega8515!) auch in den richtigen Sockel verwendet?" Ich hab im Handbuch gelesen... Mir ist das zugegebenermaßen am ersten Tag wie ich das stk500 bekommen hab mal passiert aber seitdem nichtmehr. "Könntest probieren, einen manuellen Firmwareupgrade zu machen" wo ist der unterschied zum normalen upgrade? (das ich gerade eben gemacht hab aber nix gebracht hat)
Oder hat vielleicht jemand einen Vorschlag an wen ich mich für weitere Hilfe wenden könnte? Ich sitz hier seit gestern komplett aufm Trockenen :( .
Ferndiagnose : Problemquelle 1 : STK500 defekt Problemquelle 2 : Anwender-µC defekt Problemquelle 3 : Anwenderprogramm nicht o.k. Problemquelle 4 : Anwenderschaltung nicht o.k. Zu 1 : Nach Deiner Aussage soll das Flashen, Verify und Signaturauslesen fehlerfrei (d.h. keine Fehlermeldung der Programmiersoftware bzw. richtige Signaturbytes) funktionieren. Hieraus würde ich erst mal schließen, dass das STK500 funktioniert. Zu 2 : Da Du flashen kannst, würde ich eine kleine Bsp.-Anwendung programmieren (z.B. LED-Blinken) und dies auf dem STK500 ohne irgendwelche welche Zusatzhardware testen. Wenn die LED entspechend irgendwelcher Vorgaben blinkt etc. scheint auch der µC o.k. zu sein. Zu 3 : Kenn Dein Programm zwar nicht, meist liegt aber dort der Fehler. Aussagen wie "gestern liefs aber noch" bzw. "ich habe doch eine kleine Änderung vorgenommen" oder besonders schlimm "ich habe nichts geändert!!!" stehe ich sehr kritisch gegenüber !!!! Zu 4 : Prüfe die Spannungspfade und die Verbindung, es könnte ja ein Wackelkontakt irgendwo sein.
Zeig mal bitte deinen Aufbau als Foto, mit dem du erwartest, dass alle LEDs angehen müssten und das entsprechende Programm dazu. Vielleicht hast du dich doch verjumpert, vertippt, o.ä. und siehst den Wald vor lauter Bäumen nicht. Ist deine Spannungsversorgung ok? Unterhalb des Boards eventuell leitende Verunreinigungen? Was sagen die Status-LEDs nach dem Einschalten des Boards? Zieh mal alle ungenutzten Stecker ab, wenn du das Programm testest. Arbeiten die I/Os korrekt? Mit Multimeter/Oszi direkt am Controller messen. Was anderes fällt mir jetzt auch nicht mehr ein - aber bevor wir aufgeben können wir auch noch was im Dunkeln stochern... Mit dem Code würde ich testen:
1 | ldi r16, 0xFF |
2 | out DDRD, r16 |
3 | |
4 | ldi r16, 0b10101010 |
5 | out PORTD, r16 |
6 | |
7 | stop: |
8 | rjmp stop |
Port D natürlich entsprechend mit den LEDs verbinden.
Das ist mir soo peinlich. Es funktioniert wieder. Ich gebs ja zu: Ich bin bezüglich diesen Themas ein absoluter Neuling. Aber ich kann es mir immer noch nicht erklären: Das Programm war 100 Prozentig nicht Fehlerhaft. Es war sogar das Test-Programm hinten im Handbuch vom STK500. Ich bin das 100mal durchgegangen und es war kein Fehler drin. Das schwöre ich auf mein ganzes Computerequipment! Vor einer Stunde hab ichs nochmal ausprobiert. Es ging nicht. Alles was ich seitdem getan hab war folgendes (Chronologisch sortiert): - STK500 ausgeschaltet - Mit dem Multimeter alle Taster und LEDs überprüft - Stromversorgung ausgesteckt - RS232 ausgesteckt und wieder eingesteckt - Nach ner Zeit Stromversorgung wieder angesteckt (Ich war was anderes am basteln) - Neues Projekt im AVR Studio gestartet - Code von Kai eingesetzt - STK500 eingeschaltet - Port D mit den LEDs verbunden - µC geflasht - Verwundert auf das funktionierende STK500 geschaut >Ist deine Spannungsversorgung ok? Ja ich habe gerade noch damit was anderees gemacht. >Unterhalb des Boards eventuell leitende Verunreinigungen? Hab ich auch schon überprüft. >Was sagen die Status-LEDs nach dem Einschalten des Boards? War alles im grünen Bereich. >Zieh mal alle ungenutzten Stecker ab, wenn du das Programm testest. War schon alles auf Sparflamme. >Arbeiten die I/Os korrekt? Mit Multimeter/Oszi direkt am Controller >messen. Hab ich auch gemacht (s.o.) Eigentlich sollte ich ja froh sein dass es jetzt funktioniert, aber ich würde doch zu gern wissen was der Fehler war. Warscheinlich war ich der Fehler. seufz Danke und entschuldigt nochmals
>Danke und entschuldigt nochmals
Kein Problem :)
Versuch mal deinen eigentlichen Code wieder ans Laufen zu kriegen - kann
sein, dass du da nochmal über irgendwas stolperst. Hauptsache du hast
jetzt eine funktionierende Referenz, mit der du abgleichen kannst.
Schönen Sonntag noch
Kai
Hi, so ein Problem in der Art hatte ich auch. Bloß bei mir ging gar nix mehr mit dem STK500. Ich hab schon das schlimmste befürchtet das der uC im sterben lag. Aber dem war nicht so nach verschiedenen, gescheiterten Tests hab ich das STK500 an meinem alten Laptop angeschlossen... und siehe da, da lief es wunderbar. Mögliche Schlussfolgerung: COM-Port des Rechners defekt. Also Nullmodemkabel an PC und Laptop angeschlossen und mit Putty ein V.24 Terminal geöffnet. Mhhh Kommunikation zwischen beiden Rechnern funktioniert. Tja was bleibt da noch übrig...?? OK mein XP-Rechner hat seit dem Vorfall ein paar automatische Systemupdates durchgeführt. Die Comtreiber wurden dabei aktualisiert. Die Einstellung an sich spielt ja keine Rolle, da das AVR-Studio sich den Comport ja passend zurechtlegt. Und jetzt kommts... Ich hab das Treiberupdate rückgängig gemacht und siehe da mein STK500 läuft wieder prima ;) Vielen lieben Dank an Redmond kann ich da nur sagen. Saubere Arbeit Microsoft. Bis alles wieder lief, sind sicherlich 10 Stunden frust und 2 Liter Kaffee den Abgrund runter. Naja soll nur mal nen Tipp sein, falls euer STK streikt. Da ich eh aus der Linuxschiene komme werde ich in Zukunft das alles auf Linux umstricken. Da sollte mir dann sowas nicht mehr passieren.. Liebe Grüße Lars
Wobei Lustigerweise das Codebeispiel von Atmel fehlerhaft ist. Genauso muß man bei der Softwareroutine von Atmel bez. TWI einen timeout dazubauen da die Originalroutine ewig auf ein ACK wartet. Aus auch diesem Grund schreibe ich mir meine Software selbst.
Hast du schonmal ALLE Spannungen überprüft? Ich hab mal mein halbes Board zerlegt um nen Fehler zu suchen und dann hat sich rausgestellt dass sich die V_Target zurückgesetzt hat, warum auch immer. Musste sie einfach nur neu einstellen und die Sache war erledigt. Immerhin hab ich mich dadurch mal ausgiebig mit dem Board auseinandergesetzt und hab den Schaltplan bekommen den ich gerne weiterreichen kann falls Bedarf besteht.
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.