AVR: pgmspace oberhalb von 64 kB

Gast #174928
Hallo,

im gcc-Tutorial heißt es:

> Zeiger auf Werte im Flash sind ebenfalls 16 Bits "gross".
> (Die avr-libc pgmspace-Funktionen unterstützen nur die
> unteren 64kB Flash bei Controllern mit mehr als 64kB.)

Wie soll ich denn das verstehen? Mit "pgm_read_byte_far" usw. kann
ich doch den gesamten Adreßraum nutzen. Fehler im Tutorial oder
Verständnisfehler von mir?
Gast
Hallo Philipp,

schau mal in das Datenblatt vom Mega128. Bei den Controllern, die mehr
als 64K Flash haben, wurde der PC erweitert. Irgendwo ist noch ein
Register, welches die 16Bits erweitert, so dass der ganze Programmspace
adressiert werden kann.

Gruß, Florian
Gast
Soweit ich weiss, gibt es zwar die *_far Funktionen zum Zugriff auf
Adressen jenseits 64kB, jedoch werden "Variablen im Flash"
("Attribut" PROGMEM) vom avr-gcc nur in den den "unteren" 64kB
verwaltet.
Der Satz im Tutorial ist von mir, habe an dieser Stelle bewusst
vereinfacht, um keine Verwirrung zu verursachen (far/near/PROGMEM
etc.). Vielleicht ist die Vereinfachung doch zu heftig. Jeder kann
Ergaenzungen/Korrekturen einbringen.
Gast
Eben, das RAMPZ. Und die Makros mit _far benutzen ELPM, das RAMPZ
mitbenutzt und damit ist doch die Aussage aus dem Tutorial falsch. Oder
verstehe ich es immer noch nicht?!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.