mikrocontroller.net

Forum: Compiler & IDEs Probleme mit ATMEGA128 anstatt 103


Autor: Jan Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: BAB (Kai K.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.