SRAM String in eine Flashvariable schreiben

OP #781634
Lesenswert?

Hallo Zusammen,
habe folgendes Problem (bei einem ATMEGA128) das ich einen Datumsstring 
(char timestemp[14]) in eine bereits vorgegebene  int8 flash 
_FF_FNAME[14] Variable schreiben soll. Alle mir gängigen Befehle 
snprintf,strcpyf memcpyf usw. funktionieren aber nicht weil sie für die 
andere Kopierrichtung vorgesehen sind. Hat jemand eine Idee wie ich den 
timestemp doch in die globale Flashvariabble bekomme.

Zweitens bekomme ich stets Probleme mit der Hardware Stack Size weil ich 
doch einige globale Variablen verwenden muss (geht aber nicht anders 
weil dies Parameter für einen Regler sind). Muss ich die in unions 
verpacken um Speichergröße zu lukrieren?

Danke für Eure Hilfe bzw. Ideen
ach ja das Forum habe ich zuvor natürlich abgesucht aber leider nichts 
passendes gefunden
Moderator Persönliche Seite #781684
Lesenswert?

Mir dünkt, du bist im GCC-Forum außerdem falsch.  Weder der ATmega128
noch der AVR-GCC kennen etwas wie eine “hardware stack size”.  Damit
wirst du hier aber kaum die richtigen Ansprechpartner finden, die dir
da weiterhelfen können (und in einem anderen Forum sicher auch nur,
wenn du nicht auf die Kristallkugel des Lesers hoffst, sondern die
verwendete Entwicklungsumgebung mit beschreibst).
Gast #781951
Lesenswert?

Daten ins Flash schreiben geht mit keiner der üblichen Funktionen aus 
den C-Standardlibs. Der avr hat dafür spezielle Assemblerbefehle, die 
sowas erlauben. Die Suchfunktion hier im Forum fördert mit Sicherheit 
einige Beiträge hervor, wie das mit dem gcc zu lösen ist. Das hilft dir 
aber bei deinem codevision-Compiler nicht wirklich weiter.

Die Hilfe bzw. Doku zu codevision sollte aber genaueres darüber wissen, 
wie der Zugriff dort implementiert ist.

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren