Hi alle, ich will Daten im Flash speichern (ist ja blöde den riesen Flash nur für das prg zu nutzen). Ich sowas schon auf einem Fujitsu programmiert, aber ich komme ich nicht so richtig weiter. Zunächst muss ich ja Code im RAM ausführen könn, da ich ja nicht gleichzeitig aus dem Flash Code ausführen kann und im Flash rummachen kann. Dann brauche ich noch Routinen, um einen Flashsektor zu löschen und um ein Word in eine Adresse ins Flash zu schreiben oder zu lesen. Falls jemand dazu etwas hat, wäre ich sehr dankbar. Gruß Til
Hallo Til, schau dir mal das an: http://www.m16canz.com/sampcode.htm und dort Sample 28 -- Virtual EEPROM dort geht es glaub um dass was du machen willst. Gruß Peter
hallo, da ich das orginal von mitsubishi nicht mehr habb, ist ein vom mir etwas modifiziertes im anhang. als erstes "flash_init()" starten, um die routinen in den ram zu kopieren. "void erase_flash()" löscht den flash-block (welcher, ist noch intern festgelegt) write_flash(zieladresse, zeiger auf die 256byte); ralf
Danke erstmal!!! @ralf ich verstehe nicht ganz was dies macht: unsigned char page_program (void) ... for (counter = 0; counter < BLOCK_SIZE_WORD; counter++) { *addr = (data[counter]<<8) + (data[counter]>>8); // !?!? *addr++; //?!? muss das nicht addr++ heißen? } ...
> *addr = (data[counter]<<8) + (data[counter]>>8); // !?!? vor der zuweisung werden high-byte und low-byte getauscht. das war bei mir programmtechnisch bedingt. > *addr++; //?!? muss das nicht addr++ heißen? richtig, das enstand beim auseinander nehmen des orginalcodes. es erzeugt keine fehler, deswegen habe ich es übersehen. anbei der orginale code. ralf
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.