www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mit dem IAR compiler ein byte aus dem flash-speicher lesen


Autor: CRuS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich schreibe grad ein Programm für einen AT90USB162 und muss den IAR 
Compiler (IAR Workbench 5.11A) benutzen.

Jetzt will ich ein Byte aus dem Flashspeicher des µP lesen.

Mit GCC ist das ja kein Ding, denn es gibt pgm_read_byte() in der 
pgmspace.

Nur macht man das ja beim IAR mit dem Attribut __flash vor einer 
Variablen.
So habe ich mir gedacht folgendes könnte klappen:

__flash int *leseKopf = (int*)0x2000;
char wert = *leseKopf;

dann meldet der compiler aber:
Error[Be009]: memory attributes not allowed on auto variables or 
parameters

Hat jemand eine Idee wie man ein Byte aus dem Flashspeicher lesen 
könnte?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies Dir doch mal die Fehlermeldung genau durch: Da steht was von "auto 
variables". Das sind Variablen, die auf dem Stack angelegt werden, also 
Variablen, die innerhalb einer Funktion deklariert werden.

Mach 'ne globale Variable draus.

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.