ATMEGA8 will nicht, ISP läuft

Gast #257763
Lesenswert?

Hallo allerseits.

Der erste Versuch in Richtung Mikrocontroller. Ein ATMega8, die
Schaltung aus dem Tutorial auf einem Steckbrett. 4MHz Quarzoszi, 7805
liefert korrekte 5.05V, scheint alles super. Auch das flashen via ISP
aus dem Shop hier mit Ponyprog2000 funktioniert einwandfrei. Nur
scheint der Controller nichts zu tun.
Ich hatte mit den einfachen LED Beispielen aus dem Tutor angefangen.
Nichts. Um zu überprüfen ob sich überhaupt etwas tut, habe ich das ASM
programm aus dem Datenblatt zum Schreiben in den EEPROM benutzt und
anschließend den EEPROM mit yaap oder ponyprog ausgelesen. Wieder
nichts.
Am reset Eingang liegen auch jeweils 5V an, außer, wenn der
Schreibvorgang aktiv ist. Gibt es noch irgendwelche Anfängerhürden über
die ich vielleicht gestolpert bin? Kann die Kabelbrücke zwischen Quarz
und Pin9 ggf zu lang sein?
Zum assemblieren nutze ich das AVR Studio 3.56, wo auch mittels
Emulator alles super funktioniert (I/O, auch EEPROM).

Jetzt bin ich etwas ratlos.

Danke für Ideen und schonmal einen schönen Sonntag!
Angehängte Dateien:
Gast #257765
Lesenswert?

In der Minimalkonfiguration kannst Du auf einen Quarz verzichten, ab
Werk läuft der Atmel bereits mit internem Takt.
Wird nach dem Programmieren auch der Verify durchgeführt und
erfolgreich abgeschlossen? Kannst Du das Programm erfolgreich aus dem
Controller zurücklesen? Kondensatoren an den Versorgungspins? Benutzt
Du exakt die Schaltung im Tutorial?
Gast #257766
Lesenswert?

Danke schonmal.

Ja, im Prinzip genau die Schaltung aus dem Tutor, 10k und 47p an Pin1
und von dort zur resetleitung. VCC an 7 und 20, GND an 8 und 22 und der
Quarzausgang (8 also rechts oben vom Quarz) an Pin 9.
Das einzige, das ich nicht habe ist der zusätzliche 100nF zwischen 5V
und GND, da ja bereits 2 davon in der Schaltung vom 7805 stecken, die
ebenfalls wie im Tutor aufgebaut ist, bis auf den 10uF, der bei mir
durch einen 47uF ersetzt wurde.
Ich sollte also einfach Pin9 weglassen?

ASM File habe ich angehängt, Ponyprog schreibt und führt einen Verify
durch, der ca doppelt so lange wie das schreiben dauert. Wenn ich
danach (auch mit yaap) den Flash manuell auslese, dann steht da auch
das Hexfile byte für byte drin.
Ich hatte das Hexfile angehängt, weil ich mir da nicht sicher war, ob
ggf der Assembler etwas erstellt, was ggf der ATM8 nicht versteht. Aber
offenbar sind die HexOpcodes für alle gleich.
Angehängte Dateien:
Gast #257768
Lesenswert?

>>Das einzige, das ich nicht habe ist der zusätzliche 100nF zwischen
>>5V und GND, da ja bereits 2 davon in der Schaltung vom 7805 stecken

Glaub mir, du möchtest unbedingt einen 100nF Kondensator _so dicht
wie möglich_ am µC haben.

Ich habe schon mehrfach erlebt, das die Dinger ohne Ko einfach nicht
anlaufen wollen.
Gast #257769
Lesenswert?

werde ich beim nächsten tun, sprich einen 100nF zwischen 8 und 7 und
einen 100nF zwischen 20 und 22.

Der aktuelle läuft mittlerweile gar nicht mehr, PonyProg erkennt kein
Device mehr, möglich dass bei den Fuses etwas schiefgelaufen ist,
obwohl ich kein RST Fuse verändern wollte und er eigentlich beim
Schreibvorgang bereits meckerte.
Gast #257770
Lesenswert?

Ok, hab das herausgefunden. Es hatten sich doch die Clockeinstellungen
verändert. Mittlerweile ist er auf 8MHz internet getaktet, klappt also
auch ohne externem Quarz, der Zugriff via ISP.

Aber an der sonstigen Situation hat sich nichts geändert. Ich habe auch
wie im Tutorial eine LED mit 10k Vorwiderstand zwischen VCC und PB1
gehängt. Dann das Programm aus dem Tutor. Nichts.

Müsste das programm sofort anlaufen, nachdem der Schreibvorgang beendet
ist?
Gast #257772
Lesenswert?

laut Messgerät 1001 Ohm :-(

Ich rätsele wirklich. Gibt es verschiedene HexFormate die der assembler
erzeugen könnte?
Hat jmd ggf mal ein einfaches hex-file, das ich mal flashen und testen
könnte?
Gast #257773
Lesenswert?

Ennnndlich.

Der Witz bestand darin, dass PonyProg ohne zu meckern schlichtweg das
hex-file geflsht hat. Offensichtlich handelt es sich dabei aber um eine
Art Texfile, das die eigentlichen Hexdaten beschreibt. Nachdem ich im
AVR-Studio die Ausgabe von generic auf Intel Intellec 8/MDS umgestellt
hatte, las auch yaap anstandslos das hexfile ein und schreibt die
"richtigen" Daten.

Nun funktioniert natürlich alles wie es soll.

Danke an alle und schönen Sonntag noch!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren