PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Progrmmierprobleme ATMega8



Time-Guardian
21.01.2006, 18:26
Hallo Ihr Leut!!

Ich habe ein Problem mit der Programmierung von meinem ATMega8 Prozessor.

Ich nutze Pony Prog zum Programmieren mit dem Atmel Dongel STK200/300 über die Parallele Schnittstelle.

Der Dongle funktioniert einwandfrei. Einen AT89S53 bzw. AT98S8252 kann ich wie ich möchte beschreiben und auslesen. Hierzu muß ich ja den Reset inventieren in der Konfiguration. So weit so gut. O:)

Nun nehme ich meine Platine mit dem ATMega8 und deaktiviere die Inventierung des Resets wieder. Ich konnte die Configuration und Security bits richtig auslesen. Überall war kein Häckchen bis auf bei SPIEN BOOTSZ1 BOOTSZ0 SUT0 CKSEL3 CKSEL2 und CKSEL1.

Nun habe ich mein Konfiguaration laut Datenblatt und Internetseiten eingegeben. Das ist Häcken bei SPIEN BODEN BOOTSZ1 und BOOTSZ0.
und zum ATMega8 rübergeschickt. Und da passierte es angeblich wurde nichts erkannt worauf er schreiben soll. Nach ein paar mal probieren ging es. Habe die Fuse Bits wieder ausgelsen, sofern er es konnte denn auch da bekam ich die Fehlermeldung, und es Stand nur noch Müll drin. Ich habe mehrmals die Daten ausgelesen und die Häcken waren meistens immer woanders. :cry:

Dieses Problem habe ich bei zwei Prozessoren gahabt. Ich habe die Platine nochmals überprüft aber keine unterbrechung oder nicht gewollte Brücken waren aufzufinden. Ich verstehe das nicht. :-k

Warscheinlich sind die Prozessoren jetzt so gesperrt, das ich sie per ISP nicht mal mehr programmieren kann. das wäre dann der Jackpot für mich da ich nichts für eine parallele programmierung habe.

Hoffe ich habe nu nichts vergessen.

Vieleicht kann mir ja jemand helfen.

linux_80
21.01.2006, 18:42
Hallo,
das SPIEN ist im Pony normalerweise sowieso nicht änderbar.
Hast Du einen extenen Quarz o.ä. auf dem Board, denn wenn Du an den CKSEL-Bits gedreht hast, passt das mit dem Takt nimmer.
Die BOOTSZ-Bits stören den normalen ablauf nicht, egal welchen Wert die haben.

Time-Guardian
22.01.2006, 12:09
Mahlzeit

Ja, ich habe einen 5 Mhz Quarz angeschlossen. Mit dem BOOTSZ-Bits habe ich auch schon herausgelesen das die keinen Einfluß haben, dennoch danke.

Noch zur info. Ich zeige euch mal auf wie das Fenster aussieht was ich als Fehlermeldung bekomme:

------------------------------------------------------
| Alert |
------------------------------------------------------
|Device missing or unknown device (-24) |
| |
|------------ ------------- -------------- |
| Abort | | Retry | | Ignore | |
|------------ ------------- -------------- |
------------------------------------------------------

Time-Guardian
22.01.2006, 12:11
Na Toll jetzt ist mein Bild zerstückelt
Ich hoffe Ihr könnt dennoch was mit anfangen.

linux_80
22.01.2006, 12:56
Evtl. hast Du die Fuses so verstellt, das der µC keine Qurz sonder ienen Oszillator erwartet, und deshalb läut er nicht und Pony bringt diesen Fehler.

siehe diesen Beitrag:
/phpBB2/zeigebeitrag.php?t=15827 (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15827)

PS:
Du kannst deinen Beitrag editieren und die CODE-Tags um die Tabelle machen, dann verschiebt sich nix.

SprinterSB
26.01.2006, 17:32
Ich hatte die Tage ein ähnliches Problem: Niegelnagelneuer ATmega8 (SMD). Programm brennen (Pony) ging prima und funktionierte auch. Beim nächsten Brennversuch kam ich nicht mehr dran, an den Fuses (Werkseinstellung) hatte ich nix gedreht.

Ich wär auch dran interessiert, zu erfahren, woran das liegen könnte und wie man das vermeidet.

Ich kam aus der Falle raus, indem ich ein Quarz an die Pins gehalten hab (etwas fummelig bei dem SMD-Teil, zumal wenn man gleichzeitig Pony bedienen muss..). Damit konnte ich die Fuses wieder zurückstellen, aber kurz später war das Problem wieder, mit Quarz ging nix mehr.

Quarz-Oszi-dran, und in den Clock-Fuses waren die Häkchen recht phantasievoll angekreuzt.

Ist das ein Problem von Mega8? Den verwende ich schon lange problemlos, oder spinnt Pony? Oder womöglich die Versorgungsspannung? Die war bei 4.5V, also Unterkante.

*Grübel*

SprinterSB
26.01.2006, 21:31
Konkret: Ich verwende Pony 206f und skripte mit

# generated file
SELECTDEVICE ATmega8
call "echo Loading PROG from blinky.hex..."
LOAD-PROG blinky.hex
call "echo Loading DATA from blinky_eeprom.hex..."
LOAD-DATA blinky_eeprom.hex
call "echo Writing ALL to ATmega8..."
WRITE-ALL


Nach dem AUsführen sind die Fuses alle (bis auf SPIEN) auf 1. Mit

call "echo read FUSE..."
READ-FUSE

vor dem WRITE-ALL scheint das Problem nicht mehr auszutreten.

Lektor
30.01.2006, 21:34
Nochmal eine Newbeefrage. Hast du denn auch in Ponyprog unter Device/AVR Micro/atmega8 ausgewählt? Wenn diese Einstellung nicht stimmt, dann kann es nicht klappen. Bin mir auch nicht sicher, ob du die Fusebits ändern kannst, wenn diese Einstellung nicht stimmt, aber programmieren geht auf jeden Fall nicht. Das merke ich regelmäßig, wenn ich zwischen m8 und m16 wechsel :)

Time-Guardian
11.02.2006, 15:26
Hallo

Meine Einstellungen sind richtig bezüglich der Auswahl des Prozessors.

Entlich kamm ich mal wieder dazu mich mit meiner Platine zu beschäftigen.

Und ich muß sagen: "Danke Linux80". Ich habe noch eine zweite Platine mit einem 8051er Protz mit 12 MHz. Nun ja ich habe die 12 Mhz von der Platine abgegriffen und an den XTAL1 Eingang des ATMega8 angeschlossen. Und siehe da, keine Fehlermeldung und richtiges Auslesen der Fuse-Bits. \:D/

Zumindest bei einem der beiden Prozessoren.
Ich schätze den andren habe ich durch probieren jetzt so dermassen verstellt das ich nicht mehr per ISP zugreifen kann. Aber das macht nichts solange der eine läuft.

Schön zu wissen das es Forum`s gibt die einem meistenes helfen können.

Schönen Gruß aus Westfalen.

Maik