Guten Morgen allerseits, Ich bin sozusagen Neuling in der Mikrocontroller Programmierung. Ich habe mir das Atmel Eval Board von Pollin und einen geeigneten USB Prgrammer von ulrichradig.de gekauft und zusammen gelötet. Danach habe ich mit Hilfe der Tutorial's hier bei http://www.mikrocontroller.net die "Tool" chain zum Programmieren mit meinem Linux zusammengebastelt. Auch das hat funktioniert. Voller Übermut habe ich mich dann ans Programmieren gesetzt. Nach anfänglichen Versuchen leuchteten LED's und Taster reagierten. Also dachte ich mir fange ich mal Richtig an und lese mich in das Thema Fuse bits ein. Genau 1 Versuch Später musste ich feststellen, dass man den ATMEGA32 tatsächlich recht einfach mit den Fuse Bits killen kann. Obwohl laut Datenblatt die SPIEN via ISP nicht deaktiviert werden kann, hat mein avrdude das wohl geschafft. Da ich die JTag Schnittstelle auch deaktiviert hatte, dürfte ich den Mikrokontroller nun wohl auf den Müll werfen müssen. Oder hat jemand von euch noch eine Idee ? Nebenbei wollte ich mal wissen, wenn ich die SPI Schnittstelle aktiviere (was ich machen muss, weil ich ja via ISP Programmiere, wie ich jetzt gelernt habe). Kann ich dann die PINS PB7, PB6 und PB5 nicht mehr weiters nutzen, außer eben für weitere SPI Geräte ? Und was ist mit PB4 (SS) bei den dsPIC's kann man den deaktivieren und als normalen Digitalen I/O Pin nutzen. Vielen Dank für eure Geduld mit mir. Gruß corpsman
Hi
>hat mein avrdude das wohl geschafft.
Da verwechselst du Ursache und Wirkung. Wenn der Controller, z.B. durch
verstellte Taktquelle, nicht gelesen werden kann stimmt natürlich auch
der angezeigte Zustand der Fuses nicht.
MfG Spess
Uwe Schächterle schrieb: > Genau 1 Versuch Später musste ich feststellen, dass man den ATMEGA32 > tatsächlich recht einfach mit den Fuse Bits killen kann. Obwohl laut > Datenblatt die SPIEN via ISP nicht deaktiviert werden kann, hat mein > avrdude das wohl geschafft. Da ich die JTag Schnittstelle auch > deaktiviert hatte, dürfte ich den Mikrokontroller nun wohl auf den Müll > werfen müssen. Du hast mit Sicherheit die falsche Taktquelle ausgewählt. Das ist die AVR-typische Aussperr-Falle. Besorge Dir einen 8 MHZ Quarzoszillator (so einem im 14-pol Blechgehäuse, der +,- und den Taktausgang hat), und hänge den Taktausgang an OSC1. Dann müßtest Du wieder programmieren können. Mit einem geeigneten Programmiergerät, das den Hochvolt-Programmiermodus kann, kannst Du JEDEN AVR wieder zurücksetzen, egal wie verprogrammiert er ist. So wirds ja auch bei den älteren PICs gemacht - da kannst Du Dich ja auch nicht aussperren, egal wie blöd Du Dich auch anstellen magst. > Nebenbei wollte ich mal wissen, wenn ich die SPI Schnittstelle aktiviere > (was ich machen muss, weil ich ja via ISP Programmiere, wie ich jetzt > gelernt habe). Kann ich dann die PINS PB7, PB6 und PB5 nicht mehr > weiters nutzen, außer eben für weitere SPI Geräte ? Und was ist mit PB4 > (SS) bei den dsPIC's kann man den deaktivieren und als normalen > Digitalen I/O Pin nutzen. ISP ist grundsätzlich nur aktiv, wenn /RESET auf Low ist. Ist /RESET auf Hi, sind's normale Portpins. Diese Tatsache kannst Du nutzen und per Multiplexer oder HC125/HC126 die entsprechenden Pins entweder auf ISP oder auf Deine Peripherie schalten. /SS wird für ISP nicht gebraucht, sondern nur für SPI im Slave Modus Lies das Datenblatt!
> Du hast mit Sicherheit die falsche Taktquelle ausgewählt. Das ist die > AVR-typische Aussperr-Falle. Besorge Dir einen 8 MHZ Quarzoszillator (so > einem im 14-pol Blechgehäuse, der +,- und den Taktausgang hat), und > hänge den Taktausgang an OSC1. Dann müßtest Du wieder programmieren > können. OK der Pin ist auf meinem Evalboard nicht belegt, das könnte dann ein Licht am Ende des Tunnels sein g ich muss am OSC1 einfach ein Rechtecksignal anlegen ? mit Blechgehäuse Quarz meinst du so was : https://www.distrelec.de/oszillator-8-mhz/iqd/lf-spxo003161/667177/fr;jsessionid=80C956C4D55A5DCF036C842F1066FA9E.chdist140 Auf dem EvalBoard ist ja ein 16 MHZ Quarz drauf nur ist der an XTAL2 und XTAL1 angeschlossen, den kann ich aber nicht einfach "Umbiegen", da der ja nen Sinus macht...
Uwe Schächterle schrieb: > OK der Pin ist auf meinem Evalboard nicht belegt, das könnte dann ein > Licht am Ende des Tunnels sein g Wo hast du den denn gefunden? Den Pin OSC1 gibt es gar nicht. Der externe Takt wird an XTAL1 angeschlossen. Uwe Schächterle schrieb: > XTAL1 angeschlossen, den kann ich aber nicht einfach "Umbiegen", da der > ja nen Sinus macht... Der macht gar nichts, weil er nicht aktiviert ist. mfg.
mit osc1 meinte ich Pin 28 ich ging davon aus dass Frank K. sich verschrieben hatte..
So es hat ein Weilchen gedauert, Vielen Dank erst mal für die Hilfe. Der Anschluss eines externen TTL Quarzes hat es gebracht, ich habe mich tatsächlich ausgesperrt gehabt. Nun geht der Atmega32 wieder und ich habe was dazu gelernt. Vielen dank.
@U. Schächterle: Bist du komplett Windows frei? Wollte dir kurz zeigen wie das im AVR Studio aussieht wenn man einen kompatiblen Programmer benutzt, ausversehen den falschen Takt oder Taktquelle zu wählen ist dort fast unmöglich. Auch gibts bei wichtigen Fuses wie eben SPIEN einen Hinweis, das dann ein weiteres Programmieren ohne HV-Parallel Prog nicht mehr möglich ist.
Jup, ich bin komplett Windows Frei, und froh darüber. Ich entwickle auch Software, diese kann man aber von Linux aus Crosscompilen. Zum Berechnen der Fuse Bits habe ich : http://www.engbedded.com/fusecalc Das Problem war, dass ich dummerweise die Bits invertiert gesetzt hatte. Mein Glück dabei war, dass der µ-Kontroller, tatsächlich das SPIEN Bit nicht via ISP zurücksetzen lässt. Sonst hätte ich mir diesen J-Tagen Adapter bauen müssen...
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.