Forum: Compiler & IDEs Flash-Speicher ansprechen


von roboter (Gast)


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?

von roboter (Gast)


Lesenswert?

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

von Johannes M. (johnny-m)


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.

von Johannes M. (johnny-m)


Lesenswert?

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

von roboter (Gast)


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?

von Falk B. (falk)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.