Hallo allerseits !
Die Frage gleich vorweg:
Woran kann es liegen, wenn ich mit meinem Laptop und mysmartUSB 2.11
zwar fuses lesen kann aber nicht schreiben ? In den Flash schreiben
geht, genauso wie lesen.
Ich habe versucht:
- avrdude ( Linux und Windows Vista) auf 2 verschieden laptops,
- das experimentierboard myavr mkII, und 2 selbstgebaute Platinen für
m8 und m32,
- verschiedene programmer für avrdude
-- avr911 -> kann nicht schreiben,(fuses)
-- avr910 schreibt zwar die Fuses, diese werden alle auf 0xff gesetzt,
genauso die device signatur auf 0xffffff,
-- avr109 verhält sich wie avr911
-- verschiedene USB-Kabel (2m, 0,6m)
Es geht eigentlich nur darum die lfuse von 0xe1 auf 0xe0 zu setzen,
damit ich einen externen quartz ( 3...8MHz) nutzen kann.
für Tips und Anregungen wäre ich sehr dankbar
brungi
Tipp:
- Atmel AVRISPMKII (original!) benutzen, kostet nicht wirklich viel.
- Atmel Dragon benutzen, wenn genug Geld da ist.
- STK500 benutzen, wenn zuviel Geld da ist.
So...
ich hab jetzt zwischenzeitlich den originalen avrispmkII besorgt ( von
Atmel). Jetzt habe ich das Problem, daß das Device /dev/ttyUSB0 nicht
mehr automatisch generiert wird ( beim einstecken des USB - Steckers)
Ausgabe von lsusb:
1
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
4
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
5
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
6
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
7
Bus 003 Device 002: ID 03eb:2104 Atmel Corp. AVR ISP mkII
Also wird der avrispmkII erkannt. Muß ich jetzt auf den mkII erst eine
spezielle Firmware aufspielen oder sowas ?
### Edit
Der avrispmk 2 läuft jetzt.
Aber leider werden dabei die µC beim schreiben der Fuses immer noch
unbrauchbar... heul
Ich kann im Terminalmodus vom avrdude die fuses lesen, und auch
schreiben. Beim nochmaligen lesen wird auch der neue Wert angezeigt.
Wenn ich dann den avrdude beende, kann ich danach nie wieder auf den µC
zugreifen.
Hier mal n paste vom avrdude danach...
1
avrdude -cavrisp2 -Pusb -pm8 -n -v
2
3
avrdude: Version 5.10, compiled on Feb 22 2011 at 23:50:16
4
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
Copyright (c) 2007-2009 Joerg Wunsch
6
7
System wide configuration file is "/etc/avrdude.conf"
8
User configuration file is "/root/.avrduderc"
9
User configuration file does not exist or is not a regular file, skipping
10
11
Using Port : usb
12
Using Programmer : avrisp2
13
avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200087856
Oliver J. schrieb:> DÄÄÄÄ.> Damit stellst du auf externen Takt.
Ja. Genau das will ich. Auf der selbstgebauten Ziel-Platine ist bereits
ein 8 MHz Quartz verbaut, an XTAL1 und XTAL2 angeschlossen und mit 2x
22pF Keramikkondensatoren gegen Masse "entkoppelt".
Was ist daran falsch ?
"Externem Takt" wird gerne mit "externem Quarz/Resonator" verwechselt?
Wenn die Oszillatorschaltung nicht aktiviert ist, schwingt der Quarz
auch nicht.
Nun aber schnell einen echten externen Takt anschließen und Prozessoren
retten ;-)
Jetzt mal ganz langsam...
Bitte korrigiert mich, wenn ich mich irre...
Das kleine Edelsthl - Ding ( Die Grundfläche sieht aus wie ein
klitze-kleines Fussballstadion) ist ein Quartz oder nicht ?
laut Datenblatt vom atmega8, Seite 26, Tabelle 2, gehören die fusebits
von lfuse auf ...
da steht:
external crystal / ceramic resonator 1111 - 1010
Die Grundeinstellung der lfuse des atmega8 ist 1110. ( 0xe1)
also muss ich für den external crystal 1111 ( 0xe0) einstellen, oder ?
external crystal = Externer Quartz(Kristall???)
brungi schrieb:> Die Grundeinstellung der lfuse des atmega8 ist 1110. ( 0xe1)> also muss ich für den external crystal 1111 ( 0xe0) einstellen, oder ?
Nein, 1111 ist nicht 0xe0. Mit 0xe0 steht der ATmega8 auf Ext. Clock mit
64ms Startup
Für einen externen Quarz (Ext. Chrystal/Resonator High Freq.) mit
reichlich Startzeit ist für die LFuse 0xff z.B. ein guter Wert.
ok. ich hab jetzt mal gemacht, was mir Bastler empfohlen hat.
Und jetzt ist alles gut.
Die verfusten atmega8 zurückgeholt und diesmal die lfuse auf 0xff
gestellt.
Das Datenblatt studiert ( diesmal richtig). Na ja...
Wenn man vorher schon weiß, daß bei der lfuse 0xff rauskommen soll, dann
kann man das schon irgendwie nachvollziehen. Und sowieso wenn man auch
die Texte liest und nicht nur die Tabellen anschaut... ( schäm)
Aber ehrlich : Selbst hätte ich das nicht geschnallt.
Danke Bastler !
Ich schrieb:> Aber dafür hast Du ja jetzt auch immerhin einen prima Progger!
Scheint so... Auf jeden Fall ist es n prima Progger, wenn s drum geht
noch weitere Probleme herbeizuführen.
ZITAT von Murphy:
Hinter jedem kleinen Problem steckt ein Grosses, das gerne heraus
möchte.
Und weiter gehts...
Alle meine ISPs haben immer 10 Pins gehabt ( Kanda- std). Jetz kommt der
avrispmk2 mit nem 6 poligen Stecker. - Nicht schlimm. Gehäuse öffnen,
da sind auf der Platine Lötpunkte für den 10-poligen. Laut original
Schaltplan ( auf der mitgelieferten CD dabei) soll der 10-polige Stecker
parallel geschalten sein mit m 6 poligen. Also Wannenstecker dran, weil
man dann aber die smd-led nebendran nicht mehr sieht, steckergehäuse
amputieren und nur die pins stehen lassen. Tut nicht. Also über den 6
poligen raus, auf die selbstgebastelte platine ( hier OHNE m8! ) - da
sind jetz auch n 6pol und n 10pol parallel drauf- und dann weiter zum
zielsystem. Das tut.
Da schau ich dann n anderes mal was da jetz wieder los ist...
Habe auch ein Problem mit den Fuse Bits gehabt und konnte unter Pony
Prog den ATMega32 nicht mehr ansprechen (unknown device -24) oder so
ähnlich.
Zur Rettung habe ich auf meinem Pollin Programmer Board einen Keramik
Resonator mit 4 Mhz an den ATMega angeschlossen und den Mittelabgriff
mit der Masse des Boards verbunden. Danach war der Chip wieder
ansprechbar und konnte erfolgreich programmiert werden.
Vielleicht hilfts ja...
Tanterolf schrieb:> Danach war der Chip wieder> ansprechbar und konnte erfolgreich programmiert werden.> Vielleicht hilfts ja...
Nach mehr als 5 Jahren vermutlich nicht mehr - immer aufs Posting
schauen und auch den roten Spruch über deinem Eingabefeld beachten.
Ausserdem hilft deine Methode nicht, wenn der MC auf 'externen Takt'
gefused wird und darum gings ja hier. Einen externen Takt kann dein
Resonator nicht erzeugen.