www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR: pgmspace oberhalb von 64 kB


Autor: Philipp Sªsse (Gast)
Datum:

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

Autor: Florian Pfanner (Gast)
Datum:

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

Autor: mthomas (Gast)
Datum:

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

Autor: Philipp Sªsse (Gast)
Datum:

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

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.