mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RAMPZ und AVR-GCC


Autor: Leopold Stockinger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Der beiliegende Code wurde mit ICCAVR für einen ATMEGA128 kompiliert
und funktioniert problemlos.
Die Funktion soll aus dem Flash Daten auslesen und über die serielle
Schnittstelle versenden.
Wenn ich jedoch das ganze mit AVR-GCC kompiliere, sendet er falsche
daten.

Woran kann das liegen?
Kann mir jemand Helfen?

Wie siehts denn mit dem AVR-GCC bzgl. RAMPZ-Problematik aus?

Herzlichen Dank für eure Hilfe.
Gruß, Leo

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mit AVR-GCC auf den Flash zuzugreifen, gibt es spezielle Funktionen:
pgm_read_byte(...), pgm_read_word(...) usw.

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vgl. avr-libc Dokumentation zu "program-space-string-utilities" und
"bootloader-support". Code ist anhand der Makros in den
Header-Dateien pgmspace.h und boot.h nachvollziehbar. Zur
"RAMPZ-Problematik" siehe u.a. die Funktionen pgm_read_*_far.

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.