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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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