Probleme mit ATMEGA128 anstatt 103

Gast #40480
Lesenswert?

Hilfe!? Problem nach Änderung von atmega103 > atmega128


Ich habe ein einfaches C-Programm für die Ausgabe auf einem LCD-Display
geschrieben. Bisher führte das MAKE mit atmega103 und übertragen mittels
Ponyprog zum Erfolg.
Einzigster Zwischenschritt: Erase vor Schreiben mit Ponyprog.


Nach Änderung des MCU (Makefile: MCU_TARGET) von atmega103 auf atmega128
führt das make und also compilieren ebenfalls zum Erfolg, aber nach dem
Schreiben des Hex-Files mittels Ponyprog, funktioniert die Ausgabe
nicht mehr (keinerlei Anzeige), obwohl vorher mit MCU_TARGET=atmega103
einwandfrei.

Durch Testen habe ich folgenes festgestellt: Das Setzen des 
Stackpointers
am Anfang des C-Quelltext durch:

  outp(0xff,SPL);
  outp(0x0f,SPH);

führt zumindest nun zur stückweisen Ausgabe des Testtextes mit vielen
Lücken und Fehlern auf dem LCD-Display.

Was habe ich bei der Umstellung von atmega103 auf 128 wohlmöglich 
vergessen ?
Wieso hilft das Einfügen der beiden Zeilen (Stackpointer) stückweise 
bzw.
welcher richtige Wert muesste hier eventuell stehen?
Hat jemand ähnliche Probleme?


Konfiguration:
- WinAVR
- PonyProg 2.05a Beta
- ATMega128 mit LCD-Display
- Quelltext in C
Gast #40481
Lesenswert?

Nun, wenn Du Deinen ATmega128 nicht angefaßt hast, dann läuft
er sowieso im ATmega103 Kompatibilitätsmodus (siehe FAQ).  Dann
mußt Du die Applikation aber auch für einen ATmega103
compilieren.
Gast #40482
Lesenswert?

yo..damit bin ich auch schon mächtig hingefallen..:)..wenn du für den 
128er compilierst musst du auch das m103 fuse bit setzen da das ganze 
sonst nicht klappt da der 128er den stack an einer anderen stelle hat.

wenn du das ganze nicht machst schmiert dir der controller spätesten 
nach dem ersten funktionsaufruf ab da er die richtige rücksprungadresse 
nicht mehr findet.

Gruss,
BAB

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