Hallo, ich benutze einen Freescale Mikrocontroller und da wollte ich mal den internen Flash-Speicher testen. Wenn ich in den Flash schreibe und gleich danach die Adresse auslese, bekomme ich den Wert, was in den Falsh geschrieben wurde. Nun wollte ich sehen, ob der Wert auch nach dem Reset/Neustart erhalten bleibt. Ich habe die Spannungversorgung ausgeschlatet und wieder eingeschaltet. Naja jetzt wollte ich aus dem Flash lesen, und zwar aus der Adresse, was vor dem Neustart das Datum gespeichert wurde. Das Ergebnis war/ist, dass ich ganz andere Werte erhalte. Wie kann das sein? Wenn ich doch in den Flash schreibe, müsste es doch solange erhalten bleiben bis entweder der Flash gelöscht oder der Inhalt überschrieben wird. Liege ich da vielleicht falsch? Gruß Dirk
> Wenn ich in den Flash schreibe und gleich danach die Adresse auslese,
Was heisst "gleich danach"? 1 us?
Wenn deine Schreibprozedur den Herstellervorgaben entspricht, dann steht
der Wert auch da, bin ich 100% sicher.
>Was heisst "gleich danach"? 1 us? gleich danach heißt Stecker raus und wieder rein.. Die Versorgung wird getrennt, um zu sehen ob danach der INhalt immer noch erhalten bleibt. >Wenn deine Schreibprozedur den Herstellervorgaben entspricht, dann steht >der Wert auch da, bin ich 100% sicher. wie gesagt, wenn in den Flash schreibe und nachdem in den Flash geschrieben wurde, den Flash auslese, bekomme ich die richtigen Daten. Aber wenn die Spannungsversorgung getrennt wurde und nachdem ich wieder die Versorgung einschalte und den Flash auslese, bekomme ich ganz andere Werte :-(
Wie hast in das Flash geschrieben ? per Firmware, per Programmer.
im Quellcode mache ich einen Zugriff auf den Flash-Speicher.. Nach der Initialisierung kann ich mit "SetByteFlash(Adresse, Wert);" in den Flash schreiben und mit "GetByteFlash(Adresse, &Wert);" aus dem Flash lesen.
kann mir jemand einige Internetseiten über Flash-Speicher geben? Danke
Dann frag bitte konkreter. Du hast ein bischen sehr allgemein gefragt.
mein Problem ist, ich kann aus dem Datenblatt nicht erkennen in welchen
Bereich ich Daten schreiben kann.
Ich meine der Flash-Speicher wird ja für alles Mögliche benutz. Das
ganze Programm wird in den Flash geschrieben (denke ich).
Ich habe keine Idee, was so alles mit dem Flash-Speicher gemacht wird.
Naja was auch immer passiert, muss es doch einen extra Bereich geben,
was der User ohne Gefahr und Bedenken benutzen kann. Mit benutzen meine
ich irgendwelche Parameter ablegen und nach dem Neustart abholen.
>Dann frag bitte konkreter
Wie konkreter kann ich meine Fragen noch stellen? Für paar Ideen, wie
man Frage konkret stellen kann, bin ich sehr dankbar
Danke
Du hast es in diesem Thread auf 6 Postings gebracht ohne irgendwo zu verraten, um welchen Controller es überhaupt geht. Freescale hat wohl ein Dutzend recht verschiedener Controller-Familien, von den Modellen ganz zu schweigen. Forum-Fragenformulierung
hab das Entwicklungsboard von Freescale, auf dem Board ist der 56F8037-Mikrocontroller drauf..
was ist der Unterschied zwischen RAM und Flash (damit meine ich wann wird RAM und wann der Flash benutzt)
Dirk wrote: > was ist der Unterschied zwischen RAM und Flash > (damit meine ich wann wird RAM und wann der Flash benutzt) Autsch... ;) Du solltest wirklich mal die Dokumentation lesen, bevor Du solche Fragen stellst.
Jetzt wird's schon konkreter. Sieht mir schwer danach aus, als ob das Teil aus der DSP-Sparte stammt. Könnte sein, dass du daher im entsprechenden Forum besser aufgehoben bist.
Michael G. wrote: > Autsch... ;) Du solltest wirklich mal die Dokumentation lesen, bevor Du > solche Fragen stellst. Vielleicht ist die Frage nicht ganz so dusselig wie sie zugegebenermassen klingt. DSPs haben manchmal eine sehr eigene Vorstellung davon, welcher Teil welchen Speichers mit welchem Operand des Befehls erreichbar ist, weil sich das auf mehrere interne Busse verteilt.
>welcher Teil welchen Speichers mit welchem Operand >des Befehls erreichbar ist wie soll denn ein Anfänger wie ich so etwas wissen
Gut, aber es steht auch fest dass Flash-Speicher auf MCUs eine recht begrenzte Lebensdauer hat. Ich kann natuerlich darueber jetzt auch nichts sagen, ich muesste auch im Datenblatt nachsehen, da sollte sowas dann aber drinnen stehen. Dirk, Flash-Speicher ist nicht fuer sehr haeufige Schreibzugriffe geeignet, da er recht gewaltsam geloescht wird. Bei Mikrocontrollern hat man ueberlicherweise nach etwa 10.000 Schreibzyklen so eine Flash-Speicherzelle erledigt, d.h. sie ist danach defekt. RAM ist erstens quasi verschleissfrei und vor allem beim Schreiben (aber auch beim lesen) wesentlich schneller als Flash. Im Gegensatz zu Flash ist RAM halt volatil, d.h. fluechtig. Bei den AVRs wird der Flash z.B. dafuer benutzt, um den eigentlichen Programmcode zu speichern. Es gibt noch einen EEPROM, in dem man z.B. Konfigurationsdaten abspeichern kann. Der hat mit etwa 100.000 Schreibzyklen schon eine deutlich hoehere, aber dennoch begrenzte Lebensdauer. Gruss, Michael
Dirk wrote: >>welcher Teil welchen Speichers mit welchem Operand >>des Befehls erreichbar ist > > wie soll denn ein Anfänger wie ich so etwas wissen Das Teil sieht mir ja auch recht fett aus zum Anfangen. Warum hast Dich denn genau fuer diesen Controller entschieden? Ich denke damit werden Dir hier nur wenige helfen koennen, der Hauptteil hier ist AVR und einige PIC-Vertreter. Und wie gesagt, sowas sollte in der entsprechenden Dokumentation zu finden sein, um Lesen kommt man nicht herum bei solchen Themen, glaub's mir ;) Nochmal zu den Speichern: Such mal nach "Speicherhierarchie". Flash ist hier Sekundaerspeicher (bzw. Hintergrundspeicher) und RAM ist Primaerspeicher. Hierbei ist SRAM (statischer RAM) nochmals schneller als DRAM (dynamischer RAM). Kleinere Mikrocontroller haben ueblicherweise nur SRAM, da dieser um einiges einfacher anzusteuern und zu verwalten ist. Lg, Michael
>Warum hast Dich denn genau fuer diesen Controller entschieden? hab ich nicht ausgesucht, habe ich als Geburtstagsgeschenk erhalten. >Ich denke damit werden Dir hier nur wenige helfen koennen ja das weiß ich, aber was soll ich sonst macht. Wo anders wird nicht mal geantwortet. Hier bekommt man zumindest paar Tipps und Ideen >sowas sollte in der entsprechenden Dokumentation zu finden sein ja hast recht, vielleicht liegt das Problem bei mir, dass ich es einfach nicht verstehen kann. Ich dachte, die Doku müsste vielleicht sagen können "hey, du Benutzer!Du darft/kannst von der Adresse des Flash's xyz biz zu der Adresse vwy benutzen." (Mit "benutzen" meine ich, dass ich da irgendwelche Parameter speichere um sie dann einige Tage später abzurufen)
Dirk wrote: > (Mit "benutzen" meine ich, dass ich da irgendwelche Parameter speichere > um sie dann einige Tage später abzurufen) Hierfuer ist EEPROM deutlich besser geeignet, da langlebiger und fuer solche Zwecke extra vorhanden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.