PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Chip löschen und wiederbeschreiben



toeoe
04.08.2005, 18:10
Hi,

ich wollte gerade ein neues Programm auf meinen Chip brennen (mit yaap). Aber wenn ich das drauf brenne und dann die Taster auf meinem myAVR-Board drücke, passiert immer noch das gleiche wie beim ersten Programm, was ja eigentlich überschrieben werden sollte.
Also Problem ist, dass er kein neues Programm mehr auf den Chip brennt. Dann hab ich hier im Forum gesucht, wie man den Chip löscht, damit man dann evtl. wieder drauf schreiben kann, aber nicht wirklich was richtiges gefunden. Ich brenne mit yaap, mit PonyProg geht das leider nicht.

Wenn ich bei yaap auf "Erase Chip" gehe, dann geht zwar die Power LED aus, und wenn ich dann wieder auf Detect Device klicke, dann geht die Power LED wieder an und das alte Programm ist noch drauf, kann es auch wieder auslesen.

Ich hoffe, ihr könnt mir helfen.

Gruß
Thomas

MrQu
04.08.2005, 19:26
Ich denke du hast ein fussbit verstellt.

da gibt es "look" bits - wenn die gesetzt sind kann man den chip nur noch auslessen aber nicht mehr schreiben oder löschen

gruß mrqu

toeoe
04.08.2005, 19:31
Hi,

ich hab extra drauf geachtet, dass ich da nichts verstelle, da ich das schon gelesen habe, dass dann der Controller Probleme machen kann. Aber wenn ich im Programm yaap auf Program --> Lockbits & Fuses klicke, stehen ja oben 6 verschiedene Lockbits und bei jedem ist ein Haken. Meinst du das mit "gesetzt"? Kann ich da den Haken einfach rausmachen?
Ich bin mir 100% sicher, dass ich da nichts verstellt habe.

Gruß
Thomas

MrQu
04.08.2005, 19:42
hmmm,

das kann ich dir jetzt so nicht sagen. Ich habe noch nie mit dem myAVR-Bord gearbeitet - habe mir meine Bords immer selber gebaut.

welche CPU ist den da drauf???

und yaap geht mir auf den "sa..." - das programm mag ich garnicht und kenne mich deshalb damit auch nicht aus.

ich nehme immer ponyprog

in ponyprog heissen die lookbits auch lookbits


gruß mrqu

toeoe
04.08.2005, 19:51
Auf dem Board ist ein ATMEGA8L-8PU
Mit dem Programm PonyProg2000 kann ich leider nichts anfangen, da das Programm mein Board nicht findet. Hab unter Device -> AVR micro -> ATmega8 ausgewählt dann die .hex-Datei geöffnet und wollte dann drauf schreiben, aber dann kommt immer "Falsches oder fehlendes Device (-24).
Deswegen bin ich ja gleich auf yaap umgestiegen, da ich damit ohne Probleme auf den Chip brennen konnte.

Ich weiß nicht mehr, was ich machen soll :(

Gruß
Thomas

MrQu
04.08.2005, 19:59
muß jetzt noch zu einem kunden von mir,

wenn ich´s morgen nachmittag schaffe dann schau ich mir mal yaap an - habe es noch irgendwo auf dem rechner liegen

gruß mrqu

toeoe
04.08.2005, 20:21
Ok, danke, ich werd dann wohl warten...

SprinterSB
05.08.2005, 08:12
Aber wenn ich im Programm yaap auf Program --> Lockbits & Fuses klicke, stehen ja oben 6 verschiedene Lockbits und bei jedem ist ein Haken. Meinst du das mit "gesetzt"? Kann ich da den Haken einfach rausmachen?

Nein, lies erst genau, was dein Progger unter gesetzt versteht!
Da gibt es unterschiedlichen Sprachgebrauch!


Ein Haken kann heissen Lockbit=1 (also unprogrammiert, ist wohl in yaap so) oder aber Lockbit=gesetzt (also Lockbit=0, wie in PonyProg).

toeoe
05.08.2005, 12:29
Hab ja noch nichts verstellt, ich frag ja erstmal lieber nach.
Wo find ich denn raus, ob mein Progger 1 oder 0 als gesetzt oder ungesetzt versteht?
Hab mir das Board hier gekauft: http://www.myavr.de/shop/artikel.php?artID=4

Ich hab auch mal in der Beschreibung von dem Chip Atmega8 nachgeschaut und habe da etwas mit Reset gefunden. Ist das denn nicht das, was ich brauche? Aber leider stehen da für mich zu viele Fachwörter, sodass ich das nicht verstehe.
Meine Freundin studiert Englisch und sie versteht davon auch nur die Hälfte, da frage ich mich doch, für wen die Datenblätter gemacht sind.

Gruß
Thomas

PS: Meine gößte Sorge ist zur Zeit, dass das Board kaputt ist, aber das kann ich mir nicht vorstellen, da ich extra aufgepasst habe, dass ich nichts mit den Fusebits mache.

ProgDom
05.08.2005, 12:58
Also ich habe auch das myAVR-Board verwendet und es funktionierte auf Anhieb.
Ich hatte jedoch mal mit denen gesprochen, weil es da mal mit einigen Versionen Probleme in Sachen Spannungswandler gab. Hast du einen 7805 oder einen 7806 da drauf ?

Und ansonsten dein Atmega wird schon problemlos erkannt oder ?

toeoe
05.08.2005, 13:46
Mein Atmega wird von yaap problemlos erkannt. Ich muss dazu nur auf "Detect Device" klicken und schon steht da Atmega 8 drinne.
Ich hab einen 7806CV. Da steht noch mehr auf dem Teil drauf, brauchst du das auch?
Mein Board funktionierte ja einwandfrei. Hab ein Programm draufgespielt und wollte dann ein neues draufspielen und das alte war noch da.

premier
05.08.2005, 18:06
Vielleicht ist der Saft etwas zu schwach?

toeoe
05.08.2005, 18:20
Wie soll ich das denn regulieren? Ich schließe mein Board ja ganz normal über parallel an. Also an Strommangel liegts denk ich nicht.

Jahn Kohlhas
06.08.2005, 16:07
an der spannung liegt es bestimmt nicht... hast du ne externe spannungsquelle dran? der atmega8L läßt sich schon ab 2,5V brennen... nimm doch mal das myAVRWorkpad damit kannst du auch HEX-Files öffnen und auf das myAVR-Board brennen

gruß

PS: lass bloß die finger von den lock und fuse-bits... an denen brauchst du nichts verstellen...

toeoe
06.08.2005, 16:43
Ich hab keine externe Stromquelle dranne. Bis jetzt reicht ja die Spannung, die vom parallel Port kommt.
Das myAVRWorkpad bekomm ich nicht installiert, wenn ich auf die exe klicke, kommt immer "Die Datei MYAVR_WORKPAD_SE_DEMO.EXE ist verknüpft mit dem fehlenden Export-ADVAPI32.DLL

Ne andere advapi32.dll kann ich nicht nehmen, dann startet Windows nimmer.

Ich hab ja von Anfang an gewusst, dass ich von den lock und fuse-bits besser die Finger lassen soll, also hab ich daran auch nichts geändert.

SprinterSB
06.08.2005, 16:51
Kannst du denn die Lockbits noch auslesen? Oder beschwert sich dann der yaap?
Hast du des neue hex selber generiert? Oder ist es ausm Netz. Vielleicht ging ja nur was beim Generieren schief (makelauf oder so) und du hast das alte gebrannt.

toeoe
06.08.2005, 16:58
Die Lockbits kann ich noch auslesen, jo. Also yaap macht da soweit ich das erkennen kann, keine Macken.
Die (erste) Testdatei hab ich von der Seite myavr.de, die jetzt auch aufm Chip ist. Die zweie hex hab ich mit dem AVR Studio 4 erstellt (aus einer asm).

[edit]
Wenn ich bei den Lockbits & Fuses bei yaap auf Read Lockbits oder Read Fuses klicke, blinkt kurz die Power LED des Board, also geh ich mal davon aus, dass er die ausliest, obwohl sich an den Haken nichts ändert.

Bei folgenden Lockbits ist ein Haken drinne:
LockBit 1
LockBit 2
Boot LockBit 01
Boot LockBit 02
Boot LockBit 11
Boot LockBit 12
(andere Lockbits stehen da nicht, also ist bei allen ein Haken drinne)

Bei folgenden Fuses ist ein Haken drinne:
BOOTSZ0
BOOTSZ1
SPIEN

Bei den anderen ist kein Haken.

Und ich kann mich nur wiederholen, ich habe daran NICHTS geändert :(

Jahn Kohlhas
06.08.2005, 17:31
häng mal den resetpin an eine LED. und schau ob die beim proggen auf low geht... wenn nicht kannst du reset auch an nen taster hängen und von hand erst mal auf low ziehen... aber selbst das auslesen der signatur vom controller erfordet das low-ziehen von reset... wenn er den controller auslesen kann und erkennt muss er ihn auch löschen können und neu brennen... es sei denn es liegt doch ein fuse-bit problem vor :-k

das mit dem workpad ist ja doof :-(

toeoe
06.08.2005, 17:35
Wie soll ich den Reset denn an eine LED hängen? Einfach mit nem Patchkabel verbinden?
Und wie geht den proggen auf "low"? So, wie ich das immer mache mit yaap?
Welchen Programm soll ich denn drauf brennen? Muss doch irgendwie den Reset-Pin ansprechen, oder?
Sorry, hab noch keine Erfahrung mit µC sammeln können, wie auch :/

http://www.myavr.de/shop/artikel/pic/avr_bestplat_g.jpg
Das hier ist ja mein Board, wäre nett, wenn du mir das genauer beschreiben könntest, was ich mit was verbinden soll.

SprinterSB
06.08.2005, 18:06
Das sieht gar nicht gut aus.
Ein frischer Mega8 hat folgende Fuses/Locks laut Pony, wobei die Häkchen anders rum zu lesen sind:
http://s-huehn.de/elektronik/avr-prog/ponyprog-fuse2.gif
Für die Locks käm das hin, aber bei den Fuses passt das irgendwie überhaupt nicht...

toeoe
06.08.2005, 18:15
Hui, die Fusebits sind ja dann total dann durcheinander, soll ich die dann einfach so anpassen und dann testen?
Kann auch das Testprogramm die FuseBits verstellt haben? Denn so ein Durcheinander kann ich auch nicht "aus Versehen" gemacht haben. Da muss was faul sein. Ich denk mal eher, dass er gar nicht richtig die Bits ausliest, obwohl die PowerLED kurz blinkt, wenn ich auf Read klicken.

SprinterSB
06.08.2005, 18:34
Mit dem Verstellen wär ich vorsichtig.
Bei RSTDISBL und SPIEN kannst du nur Fehler machen. Entweder du bist schon ausgesperrt, oder spätestens wenn du die anfasst.

Per Programm kannst du die Fuses nicht ändern.
Vielleicht gibt's hier nen yaap-Experten?
Ich hab mein ein Prog dazugelegt das auf jeden Fall geht.
Wenn die Fuses verwurstelt sind müsste sich der yaap doch beschweren?

toeoe
06.08.2005, 18:42
Hab mir die Datei runtergeladen und mit yaap auf WriteFlash geklickt, macht er ja wunderbar ohne Fehlermeldung, doch wenn ich dann wieder auf ReadFlash klicke, kommt wieder das alte Programm zum Vorschein :(

SprinterSB
06.08.2005, 19:05
Also an den Fuses kann das doch kaum liegen?
Wenn die falsch wären, könntest du nämlich auch nichts mehr lesen.
MIt yaap kann ich dir nicht weiter helfen, der unterstützt noch nicht mal progger via RS232, sonst hätt ich den mal getestet.

toeoe
06.08.2005, 19:09
Das es nicht an den Fusebits liegt, dacht ich mir ja schon von Anfang an, hrmph...weißte denn vlt. an was das dann noch liegen könnte?
Oder weißte denn, wie ich PonyProg mit meinem Board zum laufen bekomme? Du meintest ja mal was vom invertieren, weiß aber nicht genau, was ich da machen soll?

Jahn Kohlhas
06.08.2005, 19:19
pony bringt es nicht mit nem sp12... versuchs mal mit twinavr

toeoe
06.08.2005, 19:33
ES GEHT!!! :)

Mit TwinAVR konnte ich den Chip löschen und andere hex-Dateien draufbrennen. Ich kann nun auch Dateien draufbrennen, ohne vorher den Chip zu löschen :)
Die Datei von SprinterSB geht auch.

Ihr wisst ja gar nicht, wie glücklich ich bin :D

Vielen Vielen Dank an euch allen :D

Aber eine Frag hab ich noch zu dem Programm TwinAVR: Da steht ja nun "AVR Clock 4000 KHz", das sind ja 4 MHz, oder? Heißt das, dass mein Chip auf 4 MHz läuft? Aber eigentlich hat mein Chip doch 16 MHz, wenn ich mich noch recht erinner? Wann muss ich denn dort ne höhere Zahl einstellen?

Und dann noch eine Frage zu den Lock und Fusebits? Also dass ich daran nichts rumstellen darf, weiß ich ja, aber wozu sind die denn genau da?

SprinterSB
06.08.2005, 19:37
Also was nicht geht ist über Seriell zu proggen, hab mir mal die Schalte zum myAVR angeschaut.
Ich bin ja eher der Bastler, mit fixfertig-Lösungen ist's immer schwer wenn's nicht geht, weil man nicht dahinter blickt...

Den Schaltplan des myAVR hast du.
Und wenn du weisst, wie dein Prog-Kabel verschaltet ist, findest du vielleicht bei den Pony-Adaptern was passendes.
s-huehn.de nimmt die AVR-ISP-I/O, das Kabel ist echt keine Kunst.
Am Schrauben wirst du früher oder später eh nicht vorbei kommen...
myAVR-Board laut http://myavr.de/download/schaltplan14.png:
2=sck
3=reset
11=mosi
9=miso
17,18,19,29=GND

s-huehn (also AVR-ISP I/O):
2=12
3=11
24=25=GND
6=sck
7=mosi
9=reset
10=miso

wie du vcc aus dem parallel bekommst weiß ich nicht, extern geht aber immer.


Ich hatte mir erst die Software angeschaut, und darauf passend das Programmierinterface zusammen gelötet. Da schein ich mir ja einigen Ärger erspart zu haben... :-)

toeoe
06.08.2005, 19:46
Und genau das "AVR-ISP I/O" konnte ich bei PonyProg nicht einstellen, da kam ja dann immer "Test Fehler", aber nun gehts ja wie oben geschrieben mit TwinAVR, ich hoffe, damit geht es auch nun besser als mit yaap ;)

SprinterSB
06.08.2005, 19:49
Aber eine Frag hab ich noch zu dem Programm TwinAVR: Da steht ja nun "AVR Clock 4000 KHz", das sind ja 4 MHz, oder? Heißt das, dass mein Chip auf 4 MHz läuft? Aber eigentlich hat mein Chip doch 16 MHz, wenn ich mich noch recht erinner? Wann muss ich denn dort ne höhere Zahl einstellen?

Und dann noch eine Frage zu den Lock und Fusebits? Also dass ich daran nichts rumstellen darf, weiß ich ja, aber wozu sind die denn genau da?

Werksmässig stehen die Fuses so, daß der interne RC-Oszillator einen Takt von 1MHz macht. Wenn du ein Programm hast, daß für 16MHz generiert ist, dann stimmt das nicht mehr.
Mein blinky blinkt mit 1Hz bei unveränderter Atmel-Fuse Einstellung.
Wenn du die Fuses so stellst, daß der Kristall zur Takterzeugung genommen wird, blinkt die LED mit 16Hz, also zu schnell. Um das anzupassen muss man zur Compilezeit die Frequenz wissen.
Den Internen RC-Oszillator kann man AFAIK mit 1MHz, 2MHz, 4MHz und 8MHz betreiben -- hier kann man also noch zur Laufzeit die Frequenz ändern.
Für externen Quarz /Keramik-Oszi/Takt-Generator/RC-Glied müssen die CKSELn-Fuses angepasst werden.
Für 16MHz Kristall hab ich alle CKSELn = 0, n=0..3

toeoe
06.08.2005, 19:55
Axo, ich denk, das hab ich grob verstanden.
Aber wann muss ich denn die 4000 KHz ändern? Wenn ich ein Programm hab, was mehr Power als 4MHz braucht?