Forum: Mikrocontroller und Digitale Elektronik Atmega128 Flash Beschreiben


von Markus Haas (Gast)


Lesenswert?

Hallo,


ich arbeite im Moment mit CodeVisionAVR und dem Atmega128. Leider muss
ich verschiedene Texte einstellbar gestalten, sodaß die 4k EEPROM
Speicher dafür nicht mehr ausreichen.

Da ich im Flash selbst noch ziemlich viel frei habe, würde ich diesen
freien Speicherbereich gerne zur Abspeicherung meiner Texte hernehmen.
Die mir bekannten Methoden zum Beschreiben des Flash aus dem Programm
heraus funktionien alle jedoch nur über einen Bootloader, was ich
eigentlich nicht haben möchte, da die Texte mitten in der Bedienung
durch den Benutzer modifiziert werden.

Gibt es eine Möglichkeit, Flash Pages von "normalem" Code aus zu
schreiben, d.h. nicht über den Bootloader?


Danke im Voraus,
    Markus Haas

von Wolfgang Weinmann (Gast)


Lesenswert?

<<Gibt es eine Möglichkeit, Flash Pages von "normalem" Code aus zu
schreiben, d.h. nicht über den Bootloader?>>

Hallo,
also ich kann aus dem Stegreif nur etwas ungenau antworten. Aber der
Bootloader benutzt ja dann bestimmte Befehle (LPM,SPM) um das download
abzuspeichern. Im Manual des uC ist dann sicher eine kurze
Assemblerroutine beschrieben, wie man das einsetzt. Das müßte
wahrscheinlich auch für Dich einsetzbar sein. Da würde ich mal
nachschauen.

Gruß

Wolfgang Weinmann

--
www.ibweinmann.de
Mikrocontrollersysteme

von Markus Haas (Gast)


Lesenswert?

Es gibt einige Beschreibungen dazu, aber in den meisten steht drin, dass
die Beschreibe-Befehle aus dem Bootloader Bereich aufgerufen werden
müssen, und dass diese Befehle wirkungslos sind, wenn sie aus einem
anderen Codebereich aufgerufen werden.

Kann das sein?

von Wolfgang Weinmann (Gast)


Lesenswert?

Hallo,

also (nur leider wieder kurz - habe ja auch noch andere Dinge zu tun
:-)) ich setze den ATMEGA88 ein.
Da steht auch im Manual, daß diese Instruktionen nur in der
Boot-Loader-Section eingesetzt werden können.
ABER: Es steht auch drin, Entering the Boot-Loader takes place by a
jump or call from the application programm --> es kann also von deinem
normalen Programm dorthin verzweigt werden. Dort dann die Routinen
einhängen, die den Flash beschreiben. Den Weg würde ich mal verfolgen.

Die Größe der Boot-Loader Section ist auch einstellbar.

Hoffentlich hilfts weiter.

Gruß

Wolfgang

--
www.ibweinmann.de
Mikrocontrollersysteme

von Markus Haas (Gast)


Lesenswert?

OK, das müsste ich einmal probieren.

Eine Automatisierung der von mir gewünschten Funktionalität (also z.B.
eine fertige C-Funktion, welche automatisch in den Bootstrap Modus
wechselt, den Flash beschreibt und wieder in den eigentlichen
Programmcode zurück springt) gibt es also eher nicht?

von Wolfgang Weinmann (Gast)


Lesenswert?

Hallo,

so aufs erste wohl nicht. Aber das einzige, wad Du machen mußt ist ja
dafür zu sorgen, daß die Routine in der Bootloader-Section ist und dann
einen call daruf zu machen. Das hört sich durchaus als machbar an :-)

Gruß

Wolfgang Weinmann
--
www.ibweinmann.de
Mikrocontrollersysteme

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
Noch kein Account? Hier anmelden.