mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega8 Auslieferungszustand zurücksetzen


Autor: Raik A. (raik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in letzter Zeit hatte ich immer mal Probleme beim Schreiben von 
Fuse-Bits mit PonyProg2.07c. Damit war dann ein ATMega8 auf dem SPI- Ohr 
taub.

Leider besitze ich aber kein STK500, um den Mega8 über den parallelen 
Programmiermodus zurückzusetzen. Deshalb habe ich mir die Schaltung von 
Gunter Baabe "ParProg2" nachgebaut. Funktioniert super !

Da ich aber auch noch eine sinnvolle Verwendung für einen AT90S4433 
suche, habe ich mal versucht, das Programm entsprechend umzuschreiben.
Leider erfolglos. Der Target- Mega8 wurde nicht zurückgesetzt.

Hat jemand ein paar Hinweise?

Einen Verdrahtungsfehler schließe ich aus, da ich die gleiche 
Versuchsschaltung wie beim vorherigen Ausbau mit einem Mega8 als Source 
verwendet habe. Nur die beiden Ausgänge für die Spannungsversorgung des 
Targets und dem 12V- Reset habe ich auf PortC verschoben -> werden nun 
für die XTAL- Eingänge benötigt. Den 12V- Reset- Impuls konnte ich nach 
der Tastenbetätigung mit den Oszi sehen.

Raik

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Raik,

schön, dass mein Programm auch bei Dir funktioniert.
Lade einfach von www.e-lab.de die Demo runter.
Den Source-File hast Du ja.
Du musst nur die Zeile
"Device = mega8" zu
"Device = 90S4433" ändern,
bei den "Var Declarations" die neuen Ports angeben und kompilieren.

Falls es noch Probleme gibt:
melde Dich im E-LAB Forum an. Da schaue ich täglich rein.

Gruß
Gunter

Autor: Raik A. (raik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gunter,

erst einmal danke für Deine Hinweise.

So einfach war es dann doch nicht. Zusätzlich mußten noch die Werte für 
StackSize / FrameSize verringert werden. Andernfalls brachte der 
Compiler Fehlermeldungen. Die genaue Bedeutung der beiden Werte und der 
Wert für SysTick ist mir noch nicht klar. Auch das Handbuch vom Compiler 
brachte mich nicht weiter.

Jedenfalls funzt aber das Programm "ParProg2_AT90S4433" jetzt.

Warum mein zuvor geschriebenes Programm nicht läuft, ist mir aber auch 
noch nicht klar.

Grüße
Raik

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Raik,

die Erklärung Stack/Frame und Systick findest Du in DocuCompiler.pdf
im Kapitel 17.
Der Systick ist i.A. unkritisch und kann auf 10ms stehen bleiben.
Stack/Frame liegen im internen Ram. Da der Mega8 1k hat, konnte ich da
relativ grosszügig sein. Ist bei dieser Mini-Applikation auch recht
unkritisch, führt bei Überlauf aber zu extrem schwer zu findenden 
Fehlern.
Also nur soweit notwendig reduzieren und dann ggf. im Simulator testen!

Gruß
Gunter

Autor: Raik A. (raik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

auf die einfachsten Dinge kommt man zuletzt. Es war lediglich der Reset- 
Interruptvektor nicht definiert. Jetzt läuft das Programm FuseReset1.1 
ohne Probleme.

@Gunter
Nochmals danke für die Infos.

Grüße
Raik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.