Re: FAQ, wer hilft mit ? Kategorie: Verschiedenes (von Klaus B. - 7.05.2003 21:52) | |
Als Antwort auf Re: FAQ, wer hilft mit ? von André H. - 6.05.2003 14:39
| |
Hallo André, danke für die schnelle und sehr ausführliche Antwort - du hast mich überzeugt, dass der Anschlu� eines I2C-EEPROM wirklich sinniger ist. Selbst wenn mit viel Trickserei die Nutzung des Flash-ROM möglich sein sollte, wäre der Aufwand doch völlig unverhältnismä�ig! Glückwunsch auch zu der hervorragenden und absolut informativen Seite!!! Gru� Klaus B. > 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. > > | |
Antwort schreiben Antworten: |