Atmega128 Flash Beschreiben

Gast #264912
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
Gast #264913
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
Gast #264914
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?
Gast #264915
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
Gast #264916
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?
Gast #264917
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.