Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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: