Hallo zusammen, auf die Gefahr hin, dass ich hier gleich gesteinigt werde. Mit ist beim Erstellen der "production Datei" .elf ein Fehler unterlaufen. (Atmel Studio 6) Habe im C- Code den Block HIGH und LOW der FuseFits falsch herum geschrieben. Sowas habe ich geschrieben (hier die Zuordnung richtig) // Fuse Bits setzen: const char fusedata[] _attribute_ ((section (".fuse"))) = {0xFF, 0xD9}; // Bedeutung s. Fuse Bits im Flash Menü // Reihenfolge ist: {LOW, HIGH} Anstatt soll: low: 0xFF high: 0xD9 WAR eingetragen: low: 0xD9 high: 0xFF beim Mega8 das Ganze leider mit der .elf Datei nun falsch herum geflasht. Schreiben konnte ich noch, beim Verifizieren kam dann die Fehlermeldung, "nicht mehr erreichbar" Soweit ich "sehe" wäre mit dieser falschen Einstellung Abweichung vom Soll: der SPIEN deaktiviert, der Bootloader Bereich kleiner sowie ein anderes Quarz eingestellt. (Ext. Low Frequenz Crystal 1K) -> SPIEN kann man doch per ISP gar nicht deaktivieren oder? Datenblatt: Notes: 1. The SPIEN Fuse is not accessible in Serial Programming mode. -> Ext. Low Frequent Crystal 1K.... Datenblatt: To use a 32.768 kHz watch crystal as the clock source for the device, Quarz hatte ich sogar ein solches da :-) Aber auch mit 5MHz, 8MHz, 14,7456MHz und 16MHz; verschiedene Quarzoszillatoren (die 4 Beinigen) auch schon ausprobiert. Bootloader hab ich eh keinen drauf. Aber leider kann ich meinen Mega8 nicht mehr erreichen :-( Ok, wenn SPIEN weg ist, dann entsorgen, aber kann man SPIEN per ISP deaktivieren? Da ichs nicht kappiert habe wo der Fehler war, gleich mehrere nagelneue Mega8 dadurch zerschossen. :-( Jetzt hab ich keinen mehr da. ;-) Sonst hätte ich jetzt SPIEN manuell mal deaktiviert um zu schauen Intelligenterweise hats auch einen Mega88a mit der .elf Datei für Mega8 erwischt. Das mit der .elf Datei war nur ein Versuch, da ich das vorher nie genutzt habe. Interesse halber... Gibts dazu einen Trick meine zerschossenen Mega8 wieder benutzen zu können? Gruß Andreas
Andreas schrieb: > Gibts dazu einen Trick meine zerschossenen Mega8 wieder benutzen zu > können? Wenn sonst nix mehr geht, dann geht doch noch: HVPP
Andreas schrieb: > Ok, wenn SPIEN weg ist, dann entsorgen, aber kann man SPIEN per ISP > deaktivieren? > Notes: 1. The SPIEN Fuse is not accessible in Serial Programming mode. Besorg dir halt einen Uhrenquarz. Oliver
Arduino Fanboy D. schrieb: > Wenn sonst nix mehr geht, dann geht doch noch: HVPP Oder, im Einzelfall sehr viel billiger: ein neuer Mega8... Nur wenn man damit rechnet, diesen (oder einen ähnlichen) Fehler auf eine 1000er-Stückzahl zu applizieren, rechnet sich die Investition in einen HV-fähigen Programmer... Man könnte also alternativ die Idee angehen, solche Fehler schlicht zu vermeiden. Der Witz ist: das funktioniert dann auch bei 1000er-Stückzahlen noch genauso...
Schon gelesen ? https://www.mikrocontroller.net/articles/AVR_Fuses Andreas schrieb: > Gibts dazu einen Trick meine zerschossenen Mega8 wieder benutzen zu > können? Den Chip statt seriell im Parallel-Modus programmieren. Das geht mit dem STK500 ganz gut. Wird hier im Markt manchmal günstig angeboten.
c-hater schrieb: > alternativ Immer, bei jedem Schritt, Prototypen erstellen und sorgfältig testen. Flüchtigkeitsfehler, in Serie, werden unangenehm. Ich weiß: Toller Spruch, wenn das Kind schon im Brunnen steckt ....
Hallo, https://www.mikrocontroller.net/articles/AVR_Fuses#SPIEN.2C_DWEN_und_RSTDISBL Mit passender Taktquelle kannste dein Glück nochmal per ISP versuchen, setze dazu den Programmiertakt nach unten. Vorrausgesetzt du hast den Resetpin nicht disabled.
:
Bearbeitet durch User
Hast du nicht mal einen Freq-Generator, oder einen NE555? Wo ein LF-Quarz laut Fuse dran sein sollte, geht auch ein LF-Taktgenerator am PB6. Und Prgrammierung mit F = LF / 4. Wenn nicht, haste halt mal Lehrgeld bezahlt. Nächstes mal schaltest du vielleicht das Hirn ein, nachdem der erste Mega8 zerschossen ist...
Andreas schrieb: > auf die Gefahr hin, dass ich hier gleich gesteinigt werde. Nö. Fehler passieren. Mein Vater sagt immer "man kann sich ruhig dämlich anstellen, wenn man sich zu helfen weiß". Bedauerlicherweise wirst du dem zweiten Halbsatz nicht gerecht ... > der SPIEN deaktiviert, der Bootloader Bereich kleiner sowie ein anderes > Quarz eingestellt. (Ext. Low Frequenz Crystal 1K) > > -> SPIEN kann man doch per ISP gar nicht deaktivieren oder? > Datenblatt: > Notes: 1. The SPIEN Fuse is not accessible in Serial Programming mode. Wenn es da steht, wirds schon stimmen. > -> Ext. Low Frequent Crystal 1K.... > To use a 32.768 kHz watch crystal as the clock source for the device Das betrifft nur den Fall, wenn du einen nackten Quarz anschließt. Ein externes Taktsignal kannst du immer einspeisen, so lange dessen Frequenz innerhalb des Bereichs liegt, in dem der AVR mit der verwendeten Betriebsspannaung überhaupt funktioniert. > Aber leider kann ich meinen Mega8 nicht mehr erreichen :-( Welchen Takt verwendet? ISP-Takt entsprechend angepaßt? > Ok, wenn SPIEN weg ist, dann entsorgen Nein. > Gibts dazu einen Trick meine zerschossenen Mega8 wieder benutzen zu > können? Datenblatt lesen. HVPP. Der einfachste praktische Weg dürfte sein, die Fuses per HVPP wieder in den Werkszustand zurückzusetzen. Google nach "AVR Fuse Resetter" oder "Fuse Doctor".
> -> Ext. Low Frequent Crystal 1K....
Das wurde hier erst vor kurzem lang&breit diskutiert: 300 kHz an XTAL2
(sic!) anschließen; da es ein älterer AVR8 ist, gehen vielleicht sogar
bis zu 4 MHz.
(dass sich c-hater nicht erinnert ...?)
Axel S. schrieb: > Der einfachste praktische Weg dürfte sein, die Fuses per HVPP wieder in > den Werkszustand zurückzusetzen. Wenn der ATmega8 nicht gesockelt ist, ist das ein ziemlicher Aufwand. Einfacher dürfte sein, mit einem 2. AVR am Output Compare Ausgang ~30..100kHz zu erzeugen. Ob man die an XTAL1 oder 2 einspeist, muß man ausprobieren. Der Quarz kann eingelötet bleiben.
Mal eben ausprobiert, in Ermangelung eines ATmega8 mit einem ATmega16-16PU, der aber in diesem Bereich wohl sehr ähnlich aufgebaut ist: ISP-Programmierung mit low-fuse 0xD9, sowohl an XTAL1 als auch an XTAL2 geht noch ein eingespeister Takt von 500 kHz, 1 MHz geht nicht mehr.
Hallo zusammen, danke für die schnellen und vielen Antworten :-) Habe alle meine 3 Mega8 sowie den Mega88a wieder ansprechbar. Scheinbar war das Uhrenquarz, das ich gestern verwendet habe nicht "gut". Eine anderes in meiner Bastelkiste gesucht und schließlich noch eines gefunden. -> funktioniert :-) Zum Testen versucht den SPIEN per ISP zu deaktivieren (diesmal gezielt) geht (wie im Datenblatt erwähnt) nicht. Somit brauch ich in Zukunft nicht mehr befürchten mich mit meinem ISP Programmer komplett auszusperren. Außer den Reset Pin zu deaktivieren ;-) Meine .elf Datei funktioniert nun auch wie sie soll. Ich Depp hab gestern beim Schreiben der Fuse Bits in den C-Code nicht beachtet, dass die Anzeige im Flashmenü vom Studio 6 anders rum ist, als sie im Code platziert werden soll. Dadurch dann High und Low vertauscht. peinlicher Fehler :-( (War aber auch mein erster Versuch die Fuse Bits im C-Code zu hinterlegen um eine .elf Datei daraus zu erzeugen). Gruß Andreas
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.