Forum: Mikrocontroller und Digitale Elektronik RAMPZ und AVR-GCC


von Leopold Stockinger (Gast)


Angehängte Dateien:

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

von Christian Zietz (Gast)


Lesenswert?

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

von mthomas (Gast)


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.

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.