Hi Leute, wie ihr meinem Namen entnehmen könnt, bin ich mit uC noch nicht sehr vertraut. Meine Frage ist: Welche Möglichkeiten gibt es, die Fuses zu verändern und sich dadurch auszusperren? Ich verwende das AVR Starterkit aus dem Tutorial: http://www.mikrocontroller.net/articles/AVR#Starterkits Und habe zum zweiten Mal das Problem, wie es im Anhang zu finden ist. Als das Problem beim ersten Mal auftauchte, hieß es, Fuses seien verändert worden und ich hätte mich ausgesperrt. Allerdings ging mein Code nie über einfache LED Blinken bzw. LCD hinaus. Bewusst habe ich nie im AVR Studio die Fuses verstellt, sondern immer schön die Finger davon gelassen. Jetzt meine Frage an euch: Wenn mein Problem sich tatsächlich auf die Fuses zurückführen lässt und ich eben jene nicht direkt in AVR Studio verstellt habe, wie könnten sich meine Einstellung ändern, so dass ich mich aussperre? Vielen Dank
Um's kurz zu machen SPIEN und falsche Oszillator Einstellungen sind bestens dafür geeignet, sich auszusperren. Schau mal da, http://www.engbedded.com/fusecalc
Hi
>Um's kurz zu machen SPIEN ...
SPIEN kann man per ISP nicht abschalten.
MfG spess
Hi Fusel, Fusel schrieb: > Um's kurz zu machen SPIEN und falsche Oszillator Einstellungen sind > bestens dafür geeignet, sich auszusperren. > > Schau mal da, http://www.engbedded.com/fusecalc tut mir Leid, ich hätte mich umfangreicher ausführen sollen. Mit "bewusst die Fuses in AVR Studio" meinte ich die Oszillatorfrequenz. Ich habe die Frequenz genommen, die eingestellt war und mein Programm lief. Nun läuft es nicht mehr, ohne dass ich an dieser Einstellung etwas verändert hätte. Ich weiß, dass es stark nach "Gestern lief es, dann kamen aber die kleinen grünen Männchen über Nacht vorbei und nun läuft es nicht mehr". Daher würde ich gerne wissen, ob ich Probleme wegen "unsachgemäßem Umgang" bekommen haben könnte. Darunter verstehe ich z.B., dass ich das USB Kabel gezogen habe, während die Spannungsversorgung zum uC noch vorhanden war. Oder ich das USB Kabel gezogen habe, ohne in Windows das Gerät sicher zu entfernen (wobei ich mich nicht daran erinnern kann, dass ich die Möglichkeit dazu gehabt hätte) oder dass der uC einfach zu lange unbenutzt in der Ecke lag, sich einsam fühlte und nun böse auf mich ist und deshalb nicht mehr läuft. Eure genannten Erklärungen zum Ändern der Fuses scheinen ja alle durch mein Handeln zu geschehen. Ich wüsste nicht, wo ich in 4 Zeilen Code etwas dergleichen gemacht habe :( Gruß
Was mir noch einfällt, aber vielleicht total irrelevant ist: Ich verwende den AVRISP Clone, also nicht das Original. Im Tutorial wird das Original AVRISP empfohlen, weil irgendwelche Clone etc. nicht kompatibel seien, bei einigen funktionieren, bei anderen wiederum nicht. Klar, ihr könnt nicht hellsehen und deshalb auch nicht sagen, ob das das Problem ist. Aber wäre das etwas, was theoretisch Einfluss haben könnte? Gruß
Zu allererst mal die Verbindung zum Programmer überprüfen, ggf. durchmessen. Dann den Output vom Studio mal posten.
Die Fuses änderst du sehr wahrscheinlich nicht im Programm, auch wenn es
meines Wissens möglich wäre. Das geht aber dann nicht zufällig in einem
Programm mit wenigen Zeilen.
Die Fuses werden im Programmierdialog eingestellt. Da kannst du mal
sehen, ob irgendwas komisch ist. Es kann sein, dass die Einstellungen
der Fuses gleich bleiben, auch in einem neuen Projekt. Wenn du die beim
ersten Mal falsch eingestellt hast, könnten die im neuen Projekt auch
falsch gebrannt sein.
>Ich verwende das AVR Starterkit aus dem Tutorial:
Welches? Da stehen mehrere.
Wenn auf dem Controller schon ein Programm drauf ist, das irgendwas
macht, kannst du zumindest schonmal ausprobieren, ob der Reset
abgeschaltet ist, indem du den Resetpin auf Masse legst. Am besten über
einen Widerstand, denn er könnte ja als High-Ausgang eingestellt sein.
Wenn das Programm dann nicht mehr läuft, ist zumindest der Resetpin noch
aktiv.
Ob Du Dich "ausgesperrt" hast kannst Du mit der Abfrage der CPU-ID rausbekommen. Die funktioniert auch wenn der "falsche" µC eingestellt ist.
Fusel schrieb: > Zu allererst mal die Verbindung zum Programmer überprüfen, ggf. > durchmessen. > Dann den Output vom Studio mal posten. Bitte wie? Es tut mir wirklich sehr Leid, dass ich mich doof anstelle. Hab aber bitte Verständnis dafür, dass diese uC Geschichte eine komplett neue Welt für mich ist. - Ich weiß nicht, was ich messen soll - Ich weiß nicht, worauf ich achten soll Ich habe mal den Schaltplan vom ganzen Board eingefügt. Der ICSP ist ja die Verbindung zwischen Programmer und uC. Hier habe ich jetzt die Pins wie folgt gemessen: Pin 2 und 10: 5 V Pin 1 und 10: 0.05 V Pin 3 und 10: 0 V Pin 5 und 10: 4.75 V Pin 7 und 10: 0.05 V Pin 9 und 10: 0.05 V Was genau meinst du mit Output vom Studio posten? Vielen Dank schon mal für deine Hilfe. Gruß
> SPIEN kann man per ISP nicht abschalten.
Mit dieser Aussage wäre ich sehr vorsichtig. Ich bin einer der
Glücklichen, die das in ihrer Anfangszeit bei einem ATMega8 geschafft
haben! Und ja, ich bin mir SICHER daß es SPIEN war.
Dussel schrieb: > Die Fuses werden im Programmierdialog eingestellt. Da kannst du mal > sehen, ob irgendwas komisch ist. Es kann sein, dass die Einstellungen > der Fuses gleich bleiben, auch in einem neuen Projekt. Wenn du die beim > ersten Mal falsch eingestellt hast, könnten die im neuen Projekt auch > falsch gebrannt sein. Siehe Anhang. Da ist ein externer Oszillator gewählt, wie mir scheint. > >>Ich verwende das AVR Starterkit aus dem Tutorial: > Welches? Da stehen mehrere. Das hier: http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108 > Wenn auf dem Controller schon ein Programm drauf ist, das irgendwas > macht, kannst du zumindest schonmal ausprobieren, ob der Reset > abgeschaltet ist, indem du den Resetpin auf Masse legst. Am besten über > einen Widerstand, denn er könnte ja als High-Ausgang eingestellt sein. > Wenn das Programm dann nicht mehr läuft, ist zumindest der Resetpin noch > aktiv. Was bringt mir der Resetpin? Nicht, dass ich es nicht ausprobieren werde, aber ich würde gerne verstehen, was da passiert :/ Gruß
Hi >Mit dieser Aussage wäre ich sehr vorsichtig. Ich bin einer der >Glücklichen, die das in ihrer Anfangszeit bei einem ATMega8 geschafft >haben! Und ja, ich bin mir SICHER daß es SPIEN war. Aber nicht mit einer sauberen ISP-Verbindung. Und im AVR-Studio kannst du die Fuse nicht anwählen. MfG Spess
Mit durchmessen meinte ich die elektrisch einwandfreie Verbindung zum Programmer, also alles incl. Kabel des Programmers auf Durchgang überprüfen. Oder noch einfacher ausgedrückt, das was beim Ausgang des Programmers rauskommt, muss auch an den PINs des Controller ankommen. Das Board muss beim Flashen mit Spannung versorgt sein. Auch nachprüfen.
Fusel schrieb: > Oder noch einfacher ausgedrückt, das was beim Ausgang des Programmers > rauskommt, muss auch an den PINs des Controller ankommen. Durchgang geprüft: Check! Alles i.O. > Das Board muss beim Flashen mit Spannung versorgt sein. Auch nachprüfen. Zum Flashen komme ich gar nicht. Momentan geht es ja erstmal um die Verbindung, dass AVR Studio den Programmer erkennt und die Verbindung herstellt. Habe aber trotzdem mal die Spannung am uC geprüft. 5 V liegen zwischen AVCC und AGND an. Zufällig jemand aus Kassel oder Umgebung hier? :P Gruß
AVRAnfänger schrieb: >> Wenn auf dem Controller schon ein Programm drauf ist, das irgendwas >> macht, kannst du zumindest schonmal ausprobieren, ob der Reset >> abgeschaltet ist, indem du den Resetpin auf Masse legst. Am besten über >> einen Widerstand, denn er könnte ja als High-Ausgang eingestellt sein. >> Wenn das Programm dann nicht mehr läuft, ist zumindest der Resetpin noch >> aktiv. > Was bringt mir der Resetpin? Nicht, dass ich es nicht ausprobieren > werde, aber ich würde gerne verstehen, was da passiert :/ Über den Resetpin wird der Controller in den Reset gesetzt, wie der Name sagt. Eigentlich ist es der !Reset (negiert) Pin, meistens mit einem Strich über dem Namen. Das heißt, der Controller ist im Reset, wenn der Pin auf Low ist. Wenn der Controller im Reset ist, kann er über ISP programmiert werden, die Ports werden auf Eingang geschaltet und die CPU wird angehalten. Normalerweise nutzt das der Programmer, um den Controller über SPI zu programmieren, aber damit kannst du auch prüfen ob die Resetfunktion des Pins abgeschaltet ist. Wenn ein Programm auf den Controller läuft, wird es logischerweise nicht mehr laufen, wenn die CPU angehalten ist. Wenn du den Pin also auf Low legst, und das Programm läuft weiter, weißt du, dass der Resetpin nicht mehr als Reset funktioniert. Aber so wie ich AVR Studio im Kopf habe, scheint deinem Screenshot zufolge die Resetfunktion nicht deaktiviert zu sein. Du kannst auch noch die Lockbits ansehen. Mit denen kann das Schreiben und lesen auch deaktiviert werden, aber ich glaube, dann würde er zumindest noch in den Programming Mode gehen und dann melden, dass der Controller nicht programmieren kann.
Fusel schrieb: > So, wenn das geklärt ist, dann ist die Frage, ob AVR Studio deinen > Programmer richtig erkennt. Jap, klingt logisch. Was ich mache: (1) Versorge Board mit Spannung (2) Verbinde Board und Programmer physikalisch (3) Stecke Programmer per USB an den PC (4) Starte AVR Studio 4.18 (5) Lade das beim Board beigefügt LED Blink Projekt (6) Kompiliere das Programm mittels F7 (7) Drücke den "Con" Button in AVR Studio (8) Wähle AVRISP mkII -> USB aus und klicke auf Connect Und dann kommt direkt das Bild im Anhang. ISP Frequenz ist auf 125 kHz. Gruß
Ben _ schrieb: > Und ja, ich bin mir SICHER daß es SPIEN war. spess53 schrieb: > Aber nicht mit einer sauberen ISP-Verbindung. Und im AVR-Studio kannst > du die Fuse nicht anwählen. Es gab mal eine PonyProg Version 2.06x die genau das gemacht hat. War ein Bug und diese Version wurde dann auch entfernt. Hier konnrte man alle Settings abwaehlen, u.a. auch SPIen. Also das es NICHT geht ist ein Geruecht. Es sollte nicht gehen waere treffender. AVRAnfänger schrieb: > ISP Frequenz ist auf 125 kHz. Den Fehler habe ich auch oefters. Bei mir hilft dann nur ein reboot. WinXP Probiere zum setzen der Fusebits und flashen mal ein anderes Programm. AVR-Burn-O-Mat oder AVRDude direkt.
**grummel** Es war eine AVR Studio 4 Version. Was anderes hab ich nie verwendet. Und ich konnte sie abwählen, sonst hätte ich mich nicht ausgesperrt. SICHER! Egal ob Du es in den nächsten 100 Jahren noch glaubst oder nicht, es ist bislang mein erster und einziger verfusedter AVR weil ich zu faul war nachzusehen was die SPIEN-Fuse ist. Ich habs erst danach wissen wollen, leider etwas spät.
Hi >Also das es NICHT geht ist ein Geruecht. Es sollte nicht gehen waere >treffender. Dann lügt Atmel: 2. The SPIEN Fuse is not accessible in serial programming mode MfG Spess
AVRAnfänger schrieb: > Ich verwende den AVRISP Clone, also nicht das Original. Welchen genau? Wie wird der in der Systemverwaltung angezeigt?
spess53 schrieb: > Dann lügt Atmel: > > 2. The SPIEN Fuse is not accessible in serial programming mode > > MfG Spess Und weil das jetzt in irgendeinem Datenblatt von irgendeinem AVR oder in irgendeiner AN steht, ist Atmel nun unfehlbar oder was soll das Zitat ? Tatsache ist, es geht. Aus welchen Gruenden auch immer.
Fusel schrieb: > Welchen genau? USBprog http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=10 > Wie wird der in der Systemverwaltung angezeigt? AVRISP mkII, siehe Anhang. Gruß
vielleicht in der aktuellen version. damals ging es DEFINITIV. bin mir auch sehr sicher, daß es ein AN-910 programmer war.
Hi >Und weil das jetzt in irgendeinem Datenblatt von irgendeinem AVR oder in >irgendeiner AN steht, ist Atmel nun unfehlbar oder was soll das Zitat ? >Tatsache ist, es geht. Aus welchen Gruenden auch immer. Deine Behauptung ist auch kein Beweis. Hast du belastbare Fakten? MfG Spess
spess53 schrieb: > Hast du belastbare Fakten? Ja, die PonyProg Version 2.06x welche aus dem Programm genommen wurde. Siehe lancos oder einfach nachfragen. Und einen ATmega644_PU den ich per HV zuruecksetzen musste. Programmiert ueber dt006
Sie mal dieser Beitrag Beitrag "Re: AVR Starterkit (inkl. USB Programmer) von embedded projects - keine Verbindung zum AVR Studio5" Hol Dir das neue Firmware-Upgrade für den Clone.
Fusel schrieb: > Sie mal dieser Beitrag > > Beitrag "Re: AVR Starterkit (inkl. USB Programmer) von embedded projects - keine Verbindung zum AVR Studio5" > > Hol Dir das neue Firmware-Upgrade für den Clone. Wie geil ist das denn. Ich habe Probleme damit. Der Bildschirm bleibt schwarz, wenn ich USBProg starten will. Egal, welche Einstellung ich gewählt habe. Eben habe ich den Hersteller, embedded-projects, kontaktiert. Mal sehen, was die so sagen. Wenn du/ihr noch eine andere Idee habt, was ich in der Zwischenzeit tun könnte, dann bin ich sehr offen für eure Vorschläge :) So schwer hatte ich mir den Einstieg in die AVR Welt wirklich nicht vorgestellt. Gruß
AVRAnfänger schrieb: > Wenn du/ihr noch eine andere Idee habt, was ich in der Zwischenzeit tun > könnte, dann bin ich sehr offen für eure Vorschläge :) Den original ATMEL AVR ISP mkII kaufen? Bis dahin Programmierkenntnisse vertiefen .-)
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.