Hallo! Hab ein Problem mit dem Flashen meines ATMEGA168. Ich hab einen neuen ATMEGA168 eingelötet um zu schauen ob der alte defekt war. Nun wollte ich eben mein bereits funktionierendes Programm wieder drauf spielen. Ging am Anfang überhaupt nicht. Dann stellte ich alle mögliche Werte um wie ISP Frequenz und Clock generator. Und von ATMEGA 168 auf ATMEGA168A. Nach der Umstellung auf ATMEGA168A konnte ich auf einmal die SIgnature auslesen was davor nicht ging. Danach wollte ich programmieren ist wieder nichts gegangen. Hab dann wieder alles mögliche ausprobiert, bis ich mein Programm drauf spielen konnte (was auch normal lief). Bekam aber direkt danach einen Fehleraufruf, dass Frequenz usw. nicht passt. Jetzt geht gar nichts mehr. Hat wer eine Ahnung was ich noch ausprobieren kann ? LG Lukas
Lukas Hub schrieb: > Dann stellte ich alle mögliche Werte um wie ISP Frequenz und Clock > generator. Ja, super... Da wir nichts von dem wissen, was dein Programmer ist, wie hoch die MC Clock ist, ob du einen internen oder externen Oszillator benutzt oder gar einen Quarz, kann ich dir im Moment nur antworten: * CLKDIV8 vllt. noch gesetzt und ISP Frequenz zu hoch? * Vcc ordentlich abgeblockt am MC und auch AVcc angeschlossen?
Hallo Lukas, ohne die Details zu kennen, kann man nur ins Blaue raten ... Gehe einfach mal diese Liste durch: http://www.mikrocontroller.net/articles/AVR_Checkliste Liebe Grüße, Lui
Habe bei den FUses einen internen Clock von 8MHz. Programmer ist das STK500. CLKDIV8 kann ich nicht verändern da ich wie gesagt keinen eingriff in den Programmmodus habe. ISP Frequenz kann nicht zu hoch sein. Habe schon eine niedrigere ausprobiert. Funktioniert nicht. Hardwaremäßig ist alles korrekt. LG Lukas
Hi Lukas, > Habe bei den FUses einen internen Clock von 8MHz. Kannst du die Fuses auslesen? > Programmer ist das STK500. Schon getestet ob du einen anderen µC damit programieren kannst? > Hardwaremäßig ist alles korrekt. Bist du dir da wirklich 100%ig sicher?! Es ist recht unwahrscheinlich, dass der µC defekt ist. Was ich machen würde: - Nochmals optisch prüfen ob du vielleicht doch irgendwo eine Lötbrücke hast. - Die Reset-Leitung mit dem Ohmmeter auf Kurzschluss nach GND prüfen - Die Verbindungen zwischen STK500 und den Pins des ATMEGA168 mit dem Durchgangsprüfer / Ohmmeter messen (vielleicht ist ein Kabel defekt). - Die Signale mit einem Oszi (sofern du eines hast) prüfen. Damit meine ich: zumindest einmal die Flanken der Reset-Leitung anschauen. Wenn ich dann noch nix gefunden hätte würde ich weiters: - Den ATMEGA168 auslöten und ihn direkt im STK500 programmieren versuchen. Liebe Grüße, Lui
Hallo! Nein kann die Fuses nicht auslesen. Ja also die Sache ist ja so: Ich habe einen ATMEGA168 in meiner Platine eingelötet ghabt und mit dem hat es wunderbar funktioniert über das STK500 zu programmieren. War mir aber nicht sicher ob der nicht vielleicht kaputt ist, wegen eines Softwarefehlers und wollte das ausschließen. Deswegen habe ich einen neuen ATMEGA168 eingelötet. Der hat dann nach etwaigen Einstellungen an der ISP Frequenz (und bei Auswahl eines ATMEGA168A obwohl es ein ATMEGA168 ist) sich 1 mal programmieren lassen. Direkt nach diesem Programm ist gar nichts mehr gegangen. (Es ist jetzt das auch das richtige Programm oben, muss es aber ändern und wieder drauf programmieren). Kann nichts mehr auslesen und schreiben außer ISP Frequenz und Spannungen. Nachdem Hardwaremäßig nichts geändert wurde außer der Chip ausgetauscht, zweifel ich daran dass es daran liegt (denn es hat hardwaremäßig schon alles funktioniert). Lötbrücken sind in Ordnung. LG Lukas
Lukas Hub schrieb: > Habe bei den FUses einen internen Clock von 8MHz. > Programmer ist das STK500. > > CLKDIV8 kann ich nicht verändern da ich wie gesagt keinen eingriff in > den Programmmodus habe. Das heißt ja wohl, dass Dein Controller mit 1>Mhz läuft. Die ISP-Frequenz darf dann also nur kleiner als 250kHz sein, also nächstniedrige Einstellung ist 125kHz. Hast Du den kompletten ISP-Port mit auf der anderen Platine, also auch VTarget und Masse? Oder sitzt der Controller im STK500? Wenn ja, ist er auch in der richtigen Fassung?
Hi Lukas, Lukas Hub schrieb: > Es ist jetzt > das auch das richtige Programm oben, muss es aber ändern und wieder > drauf programmieren nur zum Verständnis: Bedeutet das jetzt, dass dein µC ganz normal arbeitet (also das tut was er soll) und nur nicht programmiert werden kann?! Liebe Grüße, Lui
Hallo Lukas, die Idee, den auf dem SKT500 zu programmieren ist schon mal ganz gut, aber lösche die µC'S doch mal mit "High Voltage"! Hat bei mir sehr gut funktioniert. Ich hatte auch schon mal die Fuses mit Atmel Studio 6 richtig eingestellt (AVRMKII) und trotzdem waren sie falsch. Das ist schon einige Male passiert und ich bin mir sicher alles richtig eingestellt zu haben. Mit HV einen auf die Mütze und dann laufen die wieder. Seit dem schreib ich die Fuses lieber gleich unten rein. Gruß Frank
Ja kompletter ISP Port ( 10 pin) . Wie gesagt ich hab daran nichts geändert an der Hardware und es hat ja alles schon super funktioniert. Wollte jetzt eben nur durch einlöten eines neuen chips ausschließen dass der alte chip schuld war an meinem I2C fehler. Genau der neue eingelötete arbeitet ganz normal da ich es einmal geschafft habe etwas drauf zu programmieren aber es blieb eben bei dem einen mal. Jetzt gehts nimma :-( Frank: Meinst du einfach die spannung aufs höchstmögliche (6 V denk ich?!) einstellen im studio 4 und erasen? Also trotzdem über isp port? Werd ich auf jeden fall probieren wenn du das meintest wie ichs verstanden hab. LG Lukas
Hi >Meinst du einfach die spannung aufs höchstmögliche (6 V denk ich?!) >einstellen im studio 4 und erasen? Also trotzdem über isp port? >Werd ich auf jeden fall probieren wenn du das meintest wie ichs >verstanden hab. Nein . Lies dir bitte in der STK500-Hilfe das Kapitel STK500 User's Guide->Hardware Description->High Voltage Programming und STK500 User's Guide->Hardware Description->Parallel High Voltage Programming genau durch. MfG Spess
Was hast Du noch an die ISP-Pins in Deiner Schaltung angeschlossen? Also an MOSI, MISO und SCK?
Hallo ! So habs jez geschafft, dass sich mein ATMEGA168 normal flashen lässt. Was ich geändert habe: Im STK500 war eine Brücke beim BSEL2 Jumper gelegt die mir nicht aufgefallen ist( ich auch selber nicht gemacht hab, habs von wem übernommen). Hab die dann mal rausgezogen und siehe da er lässt sich flashen. Hab dann den BSEL2 Jumper wieder gebrückt und funktioniert noch immer. LG Lukas
Hi
>Hab dann den BSEL2 Jumper wieder gebrückt und funktioniert noch immer.
Den BSEL-Jumper brauchst du nur für Parallelprogrammierung. Normal ist
der offen. Auf der Unterseite des STK findest du die Bedeutung und
Defaultbelegung der Jumper.
MfG Spess
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.