Hallo, ich bin gerade dabei mir eine Led Steuerung bauen die von einem Attiny 2313 gesteurt wird. Der Attiny 2313 ist der erste Mikrocontroller den ich flashen will. Ich habe eine Schaltung nach einem Schaltplan gebaut und dazu ein hexfile bekommen, das nun auf den Microcontroller muss. Außerdem müssen noch Fuse Bits verändert werden. Genau ist es ein Atmel ATTiny2313A-PU im DIL. Den Attiny 2313 wollte ich mit einem USBasp Programmer (der hier: https://guloshop.de/shop/Mikrocontroller-Programmierung/AVR-USB-ISP-Programmer::23.html?XTCsid=0olso2m9vppf6vd22kt18ut0e7 ) und mit Avrdude programmieren. Wenn ich nun in der Cmd den Attiny flashen will kommt folgende Fehlermeldung: avrdude: error: programm enable: target doesn't answer. 1 avrdude: initialisation failed, rc=-1 double check connections and try again, or use -F to override this check Ich habe schon im Forum nach einer Lösung gesucht und gelesen das die Flash Frequenz zu hoch ist wenn ich das richtig verstanden habe. Kann mir bitte jemand erklären, was ich machen muss, damit ich das hex-file auf den Attiny bekomme. Danke im Vorraus Lukas
Hallo Lukas, wie sieht der Befehl denn genau aus, mit dem du avrdude aufrufst? Probiere einfach mal, diese Option anzuhängen, das macht das Programmieren langsamer: -B 60
Hallo Lukas, wenn ich an die Zeit "USBasp" denke, bekomme ich immer noch graue Haare. Ich schlag Dir vor, mach Nägel mit Köpfen, und schaffe Dir was vernünftiges an. D.h. ich habe noch das etwas schon veraltete Studio4 (für mich reichts) den Programmer AVR isp mkII von www.reichelt.de und eine ISP Programmier-Schnitstelle auf Lochraster selbst aufgebaut. Und das läuft und läuft ohne mich um Fuses o.ä. zu kümmern. Hab damit noch nie Übertragungsprobleme gehabt. Entscheiden mußt Du es selbst. Grüße Rolf
Hallo und danke für die Antworten, einen neuen Programmer wollte ich eigentlich nicht kaufen da ich leider nicht Programmieren kann und deswegen auch nicht vorhabe öfters Microcontroller zu programmieren, sondern nur diesen einen :) Ich habe es gerade nochmal mit folgendem Befehl probiert: avrdude -c usbasp -p attiny2313 -U flash:w:123.hex -B 60 leider kommt jedoch wieder die Fehlermeldung: avrdude: set SCK frequency to 16000 Hz avrdude: error: programm enable: target doesnt`t answer . 1 avrdude: initialization failed, rc=-1 Double check connections an try again or use -F to override this check avrdude done. Thank you. Ich hoffe ihr könnt mir helfen :) Gruß Lukas
Hallo nochmal :) also gerade habe ich es noch einmal mit einem anderen chip probiert, da ich und mein Freund jeweils die Schlatung bauen möchten und dort kam die Meldung: avrdude: set SCK frequence to 16000HZ avrdude: AVR device initialized and ready to accept instructions Reading I ############################## I 100% 0.03s avrdude: Device signature = 0x00ff00 avrdude: Expected signature for Attiny 2313 is 1E 91 0A Double check chip, or use -F to override this check. avrdude done. Thank you. Das heißt ich habe jetzt zwar ein verbindung zu dem chip aber der chip ist kaputt sehe ich das richtig? Oder muss nur etwas an dem chip eigestellt werden? Das ist schon richtig das man erst den chip Programmiert und dann die Fusebits setzt oder? Danke für eure Hilfe und ich hoffe es klappt noch irgendwann die microcontroller zu programmieren aber ich gebe nicht auf :D Gruß Lukas
Probier statt "-B 60" mal "-B 600". Kann ja sein, dass der Mikrocontroller per Fusebits auf eine sehr langsame Geschwindigkeit eingestellt wurde. Falls das nicht hilft, könnte es sein, dass eine von den 6 Programmierleitungen nicht verbunden oder falsch verbunden ist. Befindet sich der ATtiny2313 in einer Schaltung, während du ihn programmierst? Falls ja, nimm ihn dazu bitte mal raus.
Also ich habe es gerade mit -B 600 probiert aber leider wieder das selbe :( Hier nochmal die Fehlermeldung C:\Users\Lukas\Desktop\quadrocopter\MWCLight - MWCPos>avrdude -c usbasp -p attin y2313 -U flash:w:123.hex -B 600 avrdude: set SCK frequency to 1000 Hz avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.12s avrdude: Device signature = 0xff0f07 avrdude: Expected signature for ATtiny2313 is 1E 91 0A Double check chip, or use -F to override this check. avrdude done. Thank you. Und der Microcontroller ist in einer Schaltung aber ich würde ihn ungern ausbauen aber falls es nicht anderst geht werde ich das natürlich machen.
Lukas schrieb: > Und der Microcontroller ist in einer Schaltung aber ich würde ihn ungern > ausbauen aber falls es nicht anderst geht werde ich das natürlich > machen. Magst du den Schaltplan ins Forum hochladen, damit wir schauen können, was das Programmieren eventuell verhindert? Werden die Eingänge/Ausgänge für MOSI, MISO, SCK, RESET auch für andere Zwecke genutzt oder sind irgendwie auf GND oder VCC gelegt? Wie schaut es mit der Versorgungsspannung der Schaltung aus? Wenn die Schaltung per Programmer versorgt wird, sollte sie nicht gleichzeitig eine eigene Spannungsversorgung besitzen.
Hallo, Den Schaltplan will ich nicht hochladen, da ich ihn von jemand aus einem anderen Forum bekommen habe und mir nicht sicher bin ob es ok ist wenn ich diesen Schaltplan hochlade. MOSI, MISO, SCK, RESET werden nicht für andere zwecke verwendet, nur Reset ist über einen 10kohm Widerstand mit VCC verbunden und zwischen VCC und GND ist ein 100nf Kondensator aber das wird ja keinen Einfluss haben oder? Die Spannungsversorgung habe ich nicht über den Programmer sondern über einen Spannungswandler der mit 12V von einem Netzteil versorgt wird und 5V an den Microcontroller ausgibt.
Lukas schrieb: > MOSI, MISO, SCK, RESET werden nicht für > andere zwecke verwendet, nur Reset ist über einen 10kohm Widerstand mit > VCC verbunden und zwischen VCC und GND ist ein 100nf Kondensator aber > das wird ja keinen Einfluss haben oder? Die Spannungsversorgung habe ich > nicht über den Programmer sondern über einen Spannungswandler der mit > 12V von einem Netzteil versorgt wird und 5V an den Microcontroller > ausgibt. Klingt alles gut. :-) Angeschlossen hast du dann 5 Leitungen, oder? GND, MOIS, MISO, SCK, RESET. VCC sollte nicht verbunden werden, wenn die Schaltung eine eigene 5-Volt-Spannungsversorgung besitzt, GND muss dann aber trotzdem verbunden werden.
Nein Gnd habe ich nicht angeschlossen ist das evtl. der Fehler? Ich werde es gleich mal versuchen was passiert wenn ich Gnd vom Programmer mit Gnd des Microcontrollers verbinde.
Oh ich habe gerade noch einmal nachegschaut, GND habe ich doch verbunden :D Also am Usbasp sind GND, Mosi,RST, SCK und Miso mit dem Attiny verbunden
Lukas schrieb: > Oh ich habe gerade noch einmal nachegschaut, GND habe ich doch verbunden > :D Also am Usbasp sind GND, Mosi,RST, SCK und Miso mit dem Attiny > verbunden Dann muß das auch gehen. Kommst Du an die Fuses ? Für AVRDude gibt's auch ein GUI-Programm, etwas übersichtlicher.
Wie komme ich an die Fuses? Ich habe das Programm Burn o Mat meinst du das mit der GUI für AVRdude? Und danke schon einmal für die ganze hilfe es ist sehr nett das du mir hilfst :)
Auch keine Anschlüsse vertauscht oder so? Dann muss es eigentlich funktionieren... Außer natürlich, du hast vorher irgendwann Fusebits wie z.B. RSTDISBL auf 0 gesetzt.
Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das der Microcontroller defekt ist? Und dann den Fusebits habe ich eigentlich nichts verändert kann ich die auslesen indem ich in Burn o Mat bei Fuses read anklicke?
Lukas schrieb: > Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das > der Microcontroller defekt ist? Und dann den Fusebits habe ich > eigentlich nichts verändert kann ich die auslesen indem ich in Burn o > Mat bei Fuses read anklicke? Ja.
Lukas schrieb: > Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das > der Microcontroller defekt ist? Klar, auch sowas hats schon gegeben. ;-) Mikrocontroller defekt, Programmer defekt, Kabel defekt - kam alles schon mal vor. > Und dann den Fusebits habe ich > eigentlich nichts verändert kann ich die auslesen indem ich in Burn o > Mat bei Fuses read anklicke? Mit Read kannst du normalerweise nichts kaputt machen. Aber wenn avrdude nicht einmal die Gerätesignatur zuverlässig lesen kann, wird es wahrscheinlich auch nicht möglich sein, die Fusebits korrekt zu lesen.
Ich wollte nach langem wieder ein Tiny26 brennen, nun auch mit dem USBasp, er wurde zwar erkannt, aber nichts rein gebrannt. Gleiche Hardware aber über LPT Port wie früher und alles lief sofort. Evt taugt der USBasp nix für die älteren. Brenne mal über LPT-Port (www.rowalt.de) und baue ein ISP Adapter, ist ja schnell gemacht.
Also ein Haken ist bei Spien, CKDIV8, Suto0, CKSEL3, CKSEL1,CKSEL0 aber ich bin mir nicht ganz sicher ob das die ausgelesenen Werte sind, da ich keinen Programmer auswählen kann, es kommt jedoch keine Fehlermeldung
Wenn ich den Programmer entferne zeigt er mir das gleiche an wenn ich auf read drücke :(
Bleibt die Signatur denn immer gleich, oder ändert sie sich beim Auslesen?
Lukas schrieb: > Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das > der Microcontroller defekt ist? Ja klar... sein kann viel... Aber für sehr wahrscheinlich halte ich das nicht, vor allem, da du ja jetzt schon den zweiten ausprobiert hast. Einer tut gar nichts, beim anderen liest du nur irgend eine falsche Signatur. Ich würde eher vermuten bzw. folgern, dass du a) Irgend wo noch einen Leichtsinnsfehler eingebaut hast oder b) der Programmer bzw. das Kabel was hat. Wobei ich a) für wahrscheinlicher halte :) Passiert schon mal, wenn man sowas noch nie gemacht hat.
Was müsste denn passieren wenn alles richtig angeschlossen ist und ich in Burn o Mat die Fuses auslesen will dazu muss ich doch zuerst einmal den Programmer also USBASP auswählen oder? Weil ich kann dort keinen Programmer auswählen!
Das ist mir jetzt echt peinlich :D ich habe es geschafft den einen Chip zu flashen denke ich zumindest vielen vielen dank vor allem für den Tip mit -B 60 ich bin dir wirklich extrem Dankbar! Also ich habe es jetzt noch einmal probiert mit beiden chips und mehrfach nachgemessen ob durchgang herscht und folgenede Meldung erhalten: avrdude: set SCK frequency to 16000 Hz avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x1e910a avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performe To disable this feature, specify the -D option. avrdude: erasing chip avrdude: set SCK frequency to 16000 Hz avrdude: reading input file "123.hex" avrdude: input file 123.hex auto detected as Intel Hex avrdude: writing flash (1388 bytes): Writing | ################################################## | 100% 3.77s avrdude: 1388 bytes of flash written avrdude: verifying flash memory against 123.hex: avrdude: load data flash data from input file 123.hex: avrdude: input file 123.hex auto detected as Intel Hex avrdude: input file 123.hex contains 1388 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 3.21s avrdude: verifying ... avrdude: 1388 bytes of flash verified avrdude: safemode: Fuses OK avrdude done. Thank you. Bei dem 2ten chip gehe ich jedoch von einem defekt aus ich werde es zwar noch ein paar mal versuchen aber dort kommt immer die selbe Meldung. Kansst du mir vllt nur noch das erklären Das DIV8 Fusebit ist bei einem neuen 2313 serienmässig gesetzt, also musst du den "Harken" an diesem dann entfernen und dann die Fusebit´s wieder in den Controller schreiben. Wie geht das?
Also ich konnte jetzt den USbasp auswählen wenn ich aber reading fuses klicke kommt error reading fuses und der USBASP leuted kurz rot:/ muss ich evtl bei additional options -B 60 einfügen?
Ok also so schnell kannst du wohl nicht Antworten ich schreibe es hier falls es jemand anderen interessiert es hat geklapp wenn ich bei additional options -B 60 eingefügt habe! Also ich möchte mich nochmal Herzlich für deine Hilfe bedanken und bin dir sehr Dankbar :) Gruß Lukas
Das B 60 bestimmt die Geschwindigkeit der Datenübertragung. Klar gilt das für jede Übertragung ;)
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.