Hallo,
Ich habe folgenden Befehl ausgeführt (Attiny direkt mit Programmer
verbunden):
avrdude -c usbtiny -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m
Seitdem wird jeder Flashversuch mit folgender Meldung quittiert:
$ avrdude -c usbtiny -B 1 -pt2313 -U flash:w:main.hex -B
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Kann man noch etwas retten? Was genau ist die Ursache das der Chip
direkt am Programmer nicht mehr programmierbar ist?
Der korrekte Flash-Befehl ist natürlich ohne das "-B" am Ende.
Ich habe aber schon verschiedene Varianten durch. Die Ursache sind die
Fuses. Vorher konnte ich flashen. Ich weiß nun nur nicht wie ich die
Fuses wieder korrigieren kann...
Manuel schrieb:> Hallo,>> Ich habe folgenden Befehl ausgeführt (Attiny direkt mit Programmer> verbunden):>> avrdude -c usbtiny -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m>> Kann man noch etwas retten? Was genau ist die Ursache das der Chip> direkt am Programmer nicht mehr programmierbar ist?
Ja was machen dein deine Änderungen?
Arduino Fanboy D. schrieb:> Einen Quarz dran bauen, oder externen Takt einspeisen, dann tuts> das> wieder!> http://www.engbedded.com/fusecalc/
Ja er sollte doch selbst mal Nachdenken.
Evtl. muss man noch etwas mehr Zeit zum Anschwingen einbringen.
@ TO
Warum setzt du dieses unübersichtliche Tool überhaupt ein? Eine gute
Alternative ist das aktuelle Atmel Studio 7. Dort sind alle
Einstellungen übersichtlich aufgeführt und damit nicht so
fehlerträchtigt.
Manuel schrieb:> avrdude -c usbtiny -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m
Für die H-Fuse ist 0xDF die Werks-Einstellung
Für die L-Fuse ist die Werks-Einstellung 0x68
Deine Änderungen:
- CLKDIV8 gelöscht
- CKSEL3..0=1111
Du hast deinen Tiny also darauf programmiert, mit einem externen Quarz
>=8MHz betrieben zu werden.> Seitdem wird jeder Flashversuch mit folgender Meldung quittiert:> avrdude: initialization failed, rc=-1> Was genau ist die Ursache das der Chip> direkt am Programmer nicht mehr programmierbar ist?
Er hat keinen Takt. Hast du denn den externen Quarz und die zwei 22pF
Kondensatoren angeschlossen? Warum nicht?
> Kann man noch etwas retten?
Schließ einen Quarz an. Oder speise einen externen Takt an XTAL1 ein.
Und vor allem: lies mal das Datenblatt!
Du brauchst weder einen HV-Programmer noch irgendwelche obskuren
Klicki-Bunti-Programme. Aber das Hirn mußt du einschalten!
Axel S. schrieb:> Du brauchst weder einen HV-Programmer
Hi,
wenn "verfused", doch. Danach sieht es nämlich aus, da schon einmal
vergeblicher Zugriff versucht wurde.
Gerade bei nachträglicher Veränderung von "Clock geteilt durch 8" ist
mir das oft passiert, dass Zugriff nicht mehr möglich o h n e
HV-Programmierung (12V).
Oder als Alternative Griff in die Bastelkiste und neuen 2313-er
rauskramen.
ciao
gustav
Hallo,
Karl B. schrieb:> Gerade bei nachträglicher Veränderung von "Clock geteilt durch 8" ist> mir das oft passiert, dass Zugriff nicht mehr möglich o h n e> HV-Programmierung (12V).
noch nie erlebt... Nur wenn man Reset wegflasht steht im Dunklen.
Bei Quarz reicht auch ein externer Takt an XTAL1 um wieder ranzukommen.
Frequnz ist egal, solange man mehr als das 4-fache der ISP Frequent
anlegt.
Allerdings programmiee ich sowas auch mit dem AVR-Dragon oder dem alten
STK500 und AVR Studio 4. Das STK500 hat den Vorteil, daß man gleich
einen externen Takt zu Verfügung hat, wenn man ihn braucht. Dafür ist
aber eben inzwischen ein USB-RS232-Adapter nötig mangels RS232 am
Rechner.
Gruß aus Berlin
Michael
Michael U. schrieb:> Dafür ist> aber eben inzwischen ein USB-RS232-Adapter nötig mangels RS232 am> Rechner.
Hi,
überhaupt kein Problem. Delock (Prolific) 62589.
Nur ein Genderchanger wäre noch komfortsteigernder.
(Auto - nicht com1)
ciao
gustav
Herbert schrieb:> Warum setzt du dieses unübersichtliche Tool überhaupt ein? Eine gute> Alternative ist das aktuelle Atmel Studio 7. Dort sind alle> Einstellungen übersichtlich aufgeführt und damit nicht so> fehlerträchtigt.
Irgendwie scheinst du sehr heftige Scheuklappen zu haben (und ausser
Windows und dem Atmel Studio kennst du wohl nix).
AVRDUDE ist schlicht das Standardprogramm zum Flashen von AVR
Controllern. Gerade WEIL es ein Kommandozeilentool (und damit wie von
dir bezeichnet "unübersichtlich") ist, ist es gut, denn:
Es läßt sich mittels Make oder (wenn Windows und man das mag)
Batchdateien in unzählige automatisierte Abläufe einbinden. (u.a.
avr-gcc) ist extrem "unübersichtlich" und dennoch ist er der
Standardcompiler für AVR und ich bin überzeugt davon, dass du den
avr-gcc ebenfalls benutzt.
Michael U. schrieb:> Frequnz ist egal, solange man mehr als das 4-fache der ISP Frequent> anlegt.
Und wenn die Frequenz der externen Taktquelle zu niedrig ist, kann man
die ISP-Frequenz des Programmierers mittels der Avrdude-Option -B auf
einen passenden Wert reduzieren.
Der USBtinyISP scheint defaultmäßig mit 100 kHz zu laufen, so dass man
-B nur dann braucht, wenn die externe Taktquelle ≤400 kHz hat.
Generell sollte man auch den Brownout-Detector aktivieren. Mir ist es
schon ein paarmal passiert, dass der Controller selber seine Fuses
umprogrammiert hat und danach nicht mehr gestartet ist. Mit aktiviertem
Brownout-Detector trat das Problem nicht mehr auf.
Hi,
Habe auch noch einen anderen Programmer.
Zu Fuß.
Brauch 1 Stunde für 1024 Bytes.
Adresssen-
Daten-
Strobe
Adressenincrement
Daten-
Strobe..
Atmel AVR STK500 war für mich wie ein Quantensprung.
Und ein Zurück gibt es aus Prinzip nicht, wenn man einmal soweit kam.
ciao
gustav
Diese Darstellung habe ich erwartet.
Aber die Strafe der Kommandozeile folgte auf dem Fuße.
Und Batchdateien, wer braucht das?
Gwerblich spielt das keine Rolle, Programmer dazu gibt es schon seit
mehr als 20 Jahren.
Ralph S. schrieb:> AVRDUDE ist schlicht das Standardprogramm zum Flashen von AVR> Controllern.
Nein!
Die mit einer grafischen Benutzerfläche, die machen einfach.
Selbst mit einem Chinesischen EPROMMER kann man viele MC brennen.
michael_ schrieb:> Diese Darstellung habe ich erwartet.> Aber die Strafe der Kommandozeile folgte auf dem Fuße.>> Und Batchdateien, wer braucht das?> Gwerblich spielt das keine Rolle, Programmer dazu gibt es schon seit> mehr als 20 Jahren.
Manche Menschen rennen eben mit Scheuklappen durch die Welt und sehen
nicht, was neben ihnen so alles passiert.
Oder, wie es Einstein gesagt hat:
Der Horizont vieler Menschen ist wie ein Kreis mit Radius Null. Und das
nennen sie dann ihren Standpunkt.
Es gibt mehr als einen Weg, einen AVR zu programmieren. Man muss nicht
mehrere verwenden, aber akzeptieren, daß es für andere Anwendungen auch
andere Lösungen gibt.
Man kann einen AVR auch mit Hilfe eines Arduino und der Arduino-IDE
brennen, wenn man es unbedingt will.
michael_ schrieb:> Ralph S. schrieb:>> AVRDUDE ist schlicht das Standardprogramm zum Flashen von AVR>> Controllern.>> Nein!> Die mit einer grafischen Benutzerfläche, die machen einfach.> Selbst mit einem Chinesischen EPROMMER kann man viele MC brennen.
Die helfen lediglich dabei, nicht das eigene Hirn benutzen zu müssen.
michael_ schrieb:> ....
Du möchtest also Arduino für nicht existent erklären.
Oder ausrotten.
Denn dort ist Avrdude DAS Programm für AVR8 Uploads.
Egal mit welchem Programmer, oder auch über den jeweiligen Bootloader
michael_ schrieb:> Und Batchdateien, wer braucht das?
Typisch will man Programmänderungen ja auch ausprobieren.
Und da ist es bequem, wenn man mit nur einem Klick auf die Batch
compiliert und programmiert.
Peter D. schrieb:> Und da ist es bequem, wenn man mit nur einem Klick auf die Batch> compiliert und programmiert.
OK,
sogar bei Zugriffen auf Konfigurationsregister wird man nicht jeden
Befehl einzen eingegeben. Das dauert zu lange.
Dafür gibt es das Menü "send textfile".
Das sind dann von den Kollegen ausgefeilte, standardisierte "templates"
oder wie man das nennen möchte, drin. -
Habe selber mit DOS gerne rumexperimentiert.
Ok. EDLIN (mit Strg Z abschließen.)
Wirklich weniger geht wohl nicht.
Zum Beispiel eine Sortierung und Komprimierung von Textfiles nach
alphabetischer Ordnung. Batch deswegen, weil Endung *.bat
sort.bat
cd\
md ff
copy e:\z\lha.exe
lha e e:\text\!*.lzh
pause
copy e:\a*.txt e:\ff\*.*
copy e:\b*.txt e:\ff\*.*
copy e:\c*.txt e:\ff\*.*
....
copy e:\x*.txt e:\ff\*.*
copy e:\y*.txt e:\ff\*.*
copy e:\z*.txt e:\ff\*.*
pause
lha a ! e:\ff\*.*
pause
del e:\*.txt
rename !.lzh !texte.lzh
del e:\kor\kor2\!texte.lzh
copy e:\!texte.lzh e:\kor\kor2\!texte.lzh
pause
del !texte.lzh
deltree ff
Bis Windows 3.11 klappte das noch.
Alles schön hintereinander auf Platte.
OK. Auch auf's Programmen anwendbar.
Nur sollte man da auch die Syntax "drauf"haben.
Hat man eben nicht.
ciao
gustav
Um das ganze mal aufzulösen:
Zum einen habe ich wieder etwas dazu gelernt. Ich hätte irgendwie
erwartet das die "Clock"-Leitung die ich vom Programmer verbinde
zumindest während dem Flash-Vorgang für einen Takt sorgt.
Der Gedanke "vielleicht brauche ich einen Taktgeber" kam mir aber schon
vor dem Posten hier im Forum. Ich habe den IC deshalb "mit der einen
Seite" zurück in das Gerät gesteckt in das er rein soll (um den Quarz zu
verbinden aber zu verhindern das mir die Schaltung irgendwas an den
ISP-Pins macht). Ging dann auch nicht.
Und die Lösung des ganzen? Der Quarz war kaputt. Ich hatte den
Mikrocontroller in Verdacht und einen neuen bestellt aber das sowas wie
ein Quarz ausfallen kann hatte ich nicht erwartet. Alten Mikrocontroller
wieder rein und Quarz getauscht --> Geht wieder.
Manuel schrieb:> das sowas wie> ein Quarz ausfallen kann hatte ich nicht erwartet.
Quarze gehen sogar erstaunlich häufig kaputt.
Gerade in Fernbedienungen, die dauernd runter fallen.
Resonatoren sind deutlich rüttelfester.
Am Rande:
Du hättest hier vermutlich viel weniger "Eiertanz" gehabt, wenn du
sofort gesagt hättest, dass du den µC an einem Quarz betreibst.
Karl B. schrieb:> Zum Beispiel eine Sortierung und Komprimierung von Textfiles nach> alphabetischer Ordnung. Batch deswegen, weil Endung *.bat
Was bitte hat das mit der Programmierung eines ATtiny zu tun?
Manuel schrieb:> Ich hätte irgendwie erwartet das die "Clock"-Leitung die ich vom> Programmer verbinde zumindest während dem Flash-Vorgang für einen Takt> sorgt.
Bei JTAG ist es tatsächlich so, dort wird der JTAG-Takt während des
Programmierens der Master-Takt (kommt allerdings bei deinem ATtiny2313
nicht in Frage).
Bei SPI dagegen läuft der interne SPI-Peripheriebaustein mit seinem
eigenen Takt. Daher auch die Forderung, dass der SPI-Takt weniger als
1/4 des CPU-Taktes sein muss, ansonsten verpasst das Sampling am SPI
irgendwann mal eine der SCK-Taktflanken, und alles kommt außer Tritt.
o.T. schrieb:> Was bitte hat das mit der Programmierung eines ATtiny zu tun?
Hi,
es ging in der Reply um den Begriff "Batch".
Peter D. schrieb:> michael_ schrieb:>> Und Batchdateien, wer braucht das?
Und wo für man der die das Batch verwendet.
Unter anderem auch:
Karl B. schrieb:> OK. Auch auf's Programmen anwendbar.> Nur sollte man da auch die Syntax "drauf"haben
ciao
gustav
Karl B. schrieb:> Zum Beispiel eine Sortierung und Komprimierung von Textfiles nach> alphabetischer Ordnung.
Das geht aber einfacher.
Dazu gibt man den DIR-Befehl in eine Datei aus und läßt diese per FOR
zeilenweise abarbeiten.
dir /?
...
/O Gibt die Liste sortiert aus.
Folge N Name (alphabetisch) S Größe (kleinere zuerst)
E Erweiterung (alphabetisch) D Datum/Zeit (ältere
zuerst)
G Verzeichnisse zuerst - vorangestellt kehrt die
Reihenfolge um
Frank B. schrieb:> Manche Menschen rennen eben mit Scheuklappen durch die Welt und sehen> nicht, was neben ihnen so alles passiert.
Klar, mit Scheuklappen sieht man nicht den Nachbar, der viel weiter ist.
Frank B. schrieb:> Die helfen lediglich dabei, nicht das eigene Hirn benutzen zu müssen.
Ich war schon immer so, dass ich mein Gehirn nicht für sinnlose
Routine-Statusaufgaben belasten wollte. Meines ist dafür nicht groß
genug :-)
Peter D. schrieb:> michael_ schrieb:>> Und Batchdateien, wer braucht das?>> Typisch will man Programmänderungen ja auch ausprobieren.> Und da ist es bequem, wenn man mit nur einem Klick auf die Batch> compiliert und programmiert.
Mit einem Klick sicher nicht!
Aber schon vor 20 Jahren, also im Jahr 2000, war das kein Problem.
AVR-Assembler (Das AVR-Studio war noch nicht geboren, bzw. in den
Kinderschuhen) und der EQUINOX-Programmer.
Der EQUINOX hatte ein autoload auf die kompilierte Datei.
Mit zwei Klick war es fertig.
Arduino Fanboy D. schrieb:> Quarze gehen sogar erstaunlich häufig kaputt.> Gerade in Fernbedienungen, die dauernd runter fallen.>> Resonatoren sind deutlich rüttelfester.
Egal, Resonatoren fallen häufiger aus. Eigene Erfahrung.
Peter D. schrieb:> Das geht aber einfacher.> Dazu gibt man den DIR-Befehl in eine Datei aus und läßt diese per FOR> zeilenweise abarbeiten.> dir /?
Hi,
die lange Zeit undokumentierte erweiterte Syntax des Dir Befehls war zu
dem Zeitpunkt noch eine grosse Unbekannte:
REM file search and find batch file
@ECHO OFF
CLS
ECHO searching for %1...
FOR %%d IN (C) DO DIR %%d:\%1 /S/P
ciao
gustav