mikrocontroller.net

Forum: Compiler & IDEs Flash-Speicher ansprechen


Autor: roboter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....Flash-Speicher werden durch das "Attribut" PROGMEM ergänzt.....

ist das der gleiche speicher, der auch das programm auf nimmt mit dem 
programmer? wenn ja, wird da die lebenszeit des atmegas zb verkürzt, 
wenn ich daten sehr of da hineinpacke?

Autor: roboter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann man da nur constanten reinpacken oder geht es auch während des 
programmablaufes?

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

Bewertung
0 lesenswert
nicht lesenswert
roboter wrote:
> ....Flash-Speicher werden durch das "Attribut" PROGMEM ergänzt.....
>
> ist das der gleiche speicher, der auch das programm auf nimmt mit dem
> programmer?
Ja. Nen anderen gibt's nicht.

> wenn ja, wird da die lebenszeit des atmegas zb verkürzt,
> wenn ich daten sehr of da hineinpacke?
Schreiben kannst Du in den Flash nur mit dem Programmiergerät oder von 
einer Bootloader-Applikation aus (und das hat auch mit PROGMEM nix zu 
tun). Aus dem laufenden Programm heraus kann man nur lesen.

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

Bewertung
0 lesenswert
nicht lesenswert
roboter wrote:
> kann man da nur constanten reinpacken oder geht es auch während des
> programmablaufes?
S.o.

Autor: roboter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....Deklarationen von Variablen im Flash-Speicher werden durch das 
"Attribut" PROGMEM ergänzt......>> so steht es in der beschreibung.

wenn es variablen sind im flash, kann ich die doch im programmablauf 
ändern,oder?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ roboter (Gast)

>....Deklarationen von Variablen im Flash-Speicher werden durch das
>"Attribut" PROGMEM ergänzt......>> so steht es in der beschreibung.

>wenn es variablen sind im flash, kann ich die doch im programmablauf
>ändern,oder?

Nein. Der Text ist nicht ganz korrekt. Auf den Flash von AVR während der 
laufzeit zu schreiben ist umständlich, macht man nur im Bootloader. Wenn 
man beschreibbaren, nichtflüchtigen Speicher braucht nimmt man den 
EEPROM.

MfG
Falk

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.