Forum: Mikrocontroller und Digitale Elektronik codevision beispiel gesucht


von mbuchmann (Gast)


Lesenswert?

Hallo!

Ich suche ein C beispiel (codevision avr) in dem variablen zur laufzeit 
im flash gespeichert werden. Hat sowas jemand? bzw aht jemand schonmal 
in codevision sowas ähnliches gemacht? nochwas: ich will die variablen 
NUR im flash speichern, weder im eeprom noch im sram - föash eben :)
ich weis, das thema hatten wir hoer zwar schon zig mal, ich bekomms aber 
leider nicht hin.
Danke für eure hilfe!

von ARM-Fan (Gast)


Lesenswert?

Die Antwort bleibt auch immer die gleiche: Das paßt einfach nicht 
zusammen!

Es ist eine Sache, eine "Arbeitskopie" Daten aus dem RAM zu bestimmten
Zeitpunkten persistent zu sichern. Eine andere jedoch EEPROM oder FLASH
Speicher als "Arbeitsspeicher" zu verwenden. So ist und bleibt es 
nunmal!

von mbuchmann (Gast)


Lesenswert?

Ich will den flash auch nicht als arbeitsspeicher nutzen, sondern nur 
daten speicher, damit diese beim ausschalten der versorgungsspannung 
nicht verloren gehen. die versorgungsspannung wird nach einer bestimmten 
zeit ausgeschaltet, und nach eioner beliebigen zeit werden die daten aus 
dem flash wieder gelesen.

von Andreas Haimberger (Gast)


Lesenswert?

> Ich will den flash auch nicht als arbeitsspeicher nutzen, sondern nur
> daten speicher, damit diese beim ausschalten der versorgungsspannung
> nicht verloren gehen.

Genau dafür ist das EEPROM da. Darf man fragen, warum du dieses nicht 
benutzen willst? Ich kann da keinen vernünftigen Grund sehen, zumal das 
EEPROM garantierte 100.000 Schreibzyklen gegenüber nur 10.000 
Schreibzyklen beim Flash hat.

Andy

von crazy horse (Gast)


Lesenswert?

vielleicht weil der flash ein Stückchen grösser ist?

von Peter D. (peda)


Lesenswert?

Es gibt da 2 Möglichkeiten:

1.
Du hast einen Bootloader, der auch noch einen API-Call zum Kopieren 
SRAM->Flash zur Verfügung stellt.

2.
Du hast keinen Bootloader und schreibst eine Kopieroutine, die dann per 
Linkeroption in den Bootbereich plaziert wird.


Peter

P.S.:
Derartige Kopierroutinen werden in der Regel immer eine ganze Page 
löschen und schreiben.
Wenn Du weniger schreiben willst, mußt Du erst den Rest der Page in den 
SRAM kopieren, die Änderungen vornehmen und dann die Kopierroutine 
aufrufen.

von mbuchmann (Gast)


Lesenswert?

also ich wollte mit codevision einfach ein programm schreiben, das nur 
im bootbereich des avrs läuft, und von da aus daten im flash 
abspeichert. is das prinzipiell möglich?

von mbuchmann (Gast)


Lesenswert?

wie crazy horse sehr richtig angemerkt hat - eeprom ist zu klein, 
externe komponenten kommen nicht in frage - wenn der uc nach 10000mal 
kaputt ist - egal.

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.