mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Array im Flash lokatiert


Autor: Martin Thomas (marathon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nutze einen ATmega168 und habe ein unerklärliches Fehlerbild.
Ich lokatiere ein Array aus unsigned char ins Flash.
Auszug aus dem c-File:
#include <avr/pgmspace.h>

static unsigned char PROGMEM segIndexPattern[3] = {0x08,0x10,0x20};
....

Im Debugger sehe ich, dass das Array ins Flash lokatiert wurde.
Das Programm liest aber zur Laufzeit Müll aus.
Wenn ich das Array ins RAM lokatiere, funktioniert mein Programm 
einwandfrei.

Hat jemand einen Tipp für mich ?

Gruß Martin

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du ein Array im Flash speicherst, dann musst Du den Funktionen, die 
damit arbeiten sollen, auch mitteilen, dass sie das Array von da holen 
sollen. Und ich vermute, genau das tust Du nicht. Zum Lesen von im Flash 
gespeicherten Daten gibt es z.B. (ebenfalls in der pgmspace.h) spezielle 
Funktionen --> Doku lesen...

Autor: Bingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauchst du die  pgm_read_byte() , zum lehsen die data (bytes) von 
progmem.

Guch mahl hier
http://www.avrfreaks.net/index.php?name=PNphpBB2&f...

/Bingo Dänemark

Autor: Martin Thomas (marathon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auslesen mit pgm_read_byte(...
funktioniert.
Wieder was gelernt

Danke für die Hinweise
Martin

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.