Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Klaus, > > So einfach ist es nicht. > Im einem Flash-Speicher(Flash-ROM) kann man keine Werte einfach ändern. > Der Speicher muß dafür vorher gelöscht werden. > Auch das Schreiben neuer Werte geht nur, wenn der Bereich vorher einmal > gelöscht wurde. Löschen kann man den Flash jedoch nur Segmentweise.(1Seg.=64kB) > Außerdem, und hier liegt die Schwierigkeit, darf der Code, der löschend und oder > schreibend auf den Flash zugreift sich nicht im Flash(egal, welches Seg.) befinden. > Der Code dafür wird immer aus dem internen RAM des Controllers ausgeführt. > Beim Laden des OS wird z.B. erst ein Bootloader(boot.hex) in den int. RAM geladen, > bevor das OS galaden werden kann. > Beim Laden von Konstanten, VMC und HEX-Code(eigene Systeroutinen) wird vom OS > ebenfalls ein Programmcode (änhlich wie der Bootloader) in den internen RAM > des Controllers geladen und dieser dort ausgeführt. > Für solche Routinen würden allerhöchstens 254 Byte internen RAM zur Verfügung stehen, > während ein Programm läuft. > Wer Lust (und viel Zeit) hat, kann gerne das OS-Listing durchstöbern. > (Die Hostmode-Routinen befinden sich ab 0x2276) > Es haben sich schon genug Leute daran die Zähne ausgebissen. > Es sollte nämlich mit ins Buch "MSR mit CC2". Aber auch B.Kainka hat sich > dabei die Zähne ausgebissen. Ich hatte mich zu dem Zeitpunkt, als ich zusammen > mit B.Kainka das Buch geschrieben habe, noch nicht viel mit ASM beschäftigt. > > Darum ist das Speichern von ausfallsicheren Konfigurationsdaten in einem > externen Speicher viel leichter, günstiger und weniger Nerven aufreibend. :-) > Hier bieten sich am besten immernoch serielle EEProm an. > Diese sind bis 512kBit(64kByte) erhältlich. > > Jedoch wird der Punkt zum Thema Ausfallsicheres Speichern von Werten > natürlich mit in die FAQ kommen. > > MfG André H. > > > > Hallo liebe Leute, > > > > zum Problem "Daten/Variablen dauerhaft speichern" und der Antwort "geht nicht" der Hinweis, > > dass das Betriebssystem doch bereits sowohl die Routinen zum Lesen von Konstanten enthält, > > als auch bei jeder VMC-Übertragung das EEPROM-Konstantensegment beschrieben wird > > (allerdings wird hier offensichtlich stets ab Adresse 0 eine bestimmte Länge beschrieben). > > > > Warum also nicht eine kleine Routine schreiben, die gezielt Konstanten verändert, indem auf deren > > EEPROM-Adresse zugegriffen wird. Frage: geht das analog zum Lesen, oder spricht irgendetwas > > prinzipiell gegen ein Schreibzugriff auf das EEPROM zur Programmlaufzeit? > > > > Wäre toll, wenn jemand dieses Problem bereits gelöst hätte (?) > > > > Gruß, > > Klaus B. > >