www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik codevision beispiel gesucht


Autor: mbuchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: mbuchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas Haimberger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht weil der flash ein Stückchen grösser ist?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: mbuchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: mbuchmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.