Forum: Compiler & IDEs Probleme mit ATMEGA128 anstatt 103


von Jan Krüger (Gast)


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

von Joerg Wunsch (Gast)


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.

von BAB (Kai K.) (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.