Forum: Mikrocontroller und Digitale Elektronik Flash_Speicher blockweise lesen und schreiben


von Sandra S. (sandra)


Lesenswert?

Tag alle,

ich kann C nicht so gut...
habe aber kleine Aufgabe wobei ich den Speicher
Sektorenweise lesen, löschen und schreiben will.
Ich möchte nur pro Datenpacket einen ganzen sektor verwenden und falls 
Daten in sektor zu verändern sind, den kompletten sektor löschen und 
wieder neu
beschreiben.
Sollte jemand einem Code Beispiel haben, würde mich sehr freuen.

mfG.
sandra(sandrametampa@yahoo.fr)

von Peter Diener (Gast)


Lesenswert?

Hallo,

auf welchem Prozessor soll das denn passieren?
Welcher Speicher wird verwendet (Internes Flash, extern seriell oder 
parallel oder Speicherkarten)?

Gruß,

Peter

von Timmo H. (masterfx)


Lesenswert?

Vielleicht habe ich sowas, nur müsste man auch wissen um was für einen 
Speicher es sich handelt!

von Sandra S. (sandra)


Lesenswert?

Hallo Timmo,

es geht hier um einem ATmega32 Prozessor
der verwendete Speicher ist "internes Flash"


Gruß,

Sandra

von Jean P. (fubu1000)


Lesenswert?

Hallo,
du meinst wohl eher internes RAM oder ? Mit dem internen Flash wird das 
nix.


Gruß

von wt (Gast)


Lesenswert?

oder EEPROM???

die Aufgabe wird immer komplexer!!!

von Sandra S. (sandra)


Lesenswert?

Tag alle,

mir ist wichtig wie man im Speicher einen sektor  im Speicher lesen und 
schreiben kann...
ein Beispiel mit irgend einem Prozessor X und einem Speicher Y wird mir 
schon helfen...
Sollte jemand irgend einem Code Beispiel mit solche Aufgabe haben, würde 
mich sehr freuen.

mfG.
sandra(sandrametampa@yahoo.fr)

von Peter D. (peda)


Lesenswert?

Sandra Sandra wrote:
> es geht hier um einem ATmega32 Prozessor
> der verwendete Speicher ist "internes Flash"

Das ist nicht trivial.
Die Aufgabe ist nicht allgemein in C lösbar, da der C-Standard nicht die 
Architektur eines speziellen MCs kennt.
Es hängt also hautpsächlich von Deinem unbekannten Compiler ab.


Eine Möglichkeit wäre, erstmal einen Bootloader mit API-Call 
reinzubrennen.

Die andere Möglichkeit, durch spezielle Linkeranweisungen die 
Flashroutine in den Bootbereich zu plazieren.


Peter

von Timmo H. (masterfx)


Lesenswert?

Sowas steht immer im Datenblatt des Flashspeichers genau beschrieben. 
Die Befehle die an den Speicher geschickt werden müssen musst du halt 
einfach einen Schreibzugriff auf den Flashspeicher machen. Meist muss 
man einfach ein bestimmtes Datum an eine bestimmte Adresse schreiben

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.