Atmega328 Flash beschreiben

Gast #7142341
Lesenswert?
• ▲
▼
Ist es möglich während der Laufzeit den internen Flash zu beschreiben? 
Ich habe eine Lookup table, die von Zeit zu Zeit mal geändert wird und 
berechnet werden muss. Das dauert aufgrund von Floating Point 
Operationen alleridngs zu lange um es während des eigentliches 
Messvorgangs zu machen.
Gast #7142387
Lesenswert?
• ▲
▼
Carsten S. schrieb:

> Ist es möglich während der Laufzeit den internen Flash zu beschreiben?

Teils, teils.

Es gibt Bereiche im Flash, die tatsächlich "zur Laufzeit" beschrieben 
werden können. Damit ist konkret gemeint: währenddessen kann anderer 
Code tatsächlich u.U. noch laufen.

Es gibt aber auch Bereiche im Flash, wo das nicht möglich ist.

Du findest den Unterschied im Datenblatt unter den Stichworten "NRWW" 
respektive "RWW".
Gast #7142389
Lesenswert?
• ▲
▼
Carsten S. schrieb:
> Ich meine nicht das beschreiben
> aus dem bootloader sondern aus dem "normalen" Programm heraus.

Du musst dafür in den Bootloaderbereich springen.
Also deine Schreibefunktion per Linkerscript in den Bootloaderbereich 
lokatieren.
Bootbereichfuse aktivieren.
Wenn du keinen wirklichen Bootloader hast, dann aus dem Boot-Resetvector 
in den normalen Resetvector springen.
Gast #7142393
Lesenswert?
• ▲
▼
Carsten S. schrieb:

> Ich finde da in der AVR-libc nichts zu. Ich meine nicht das beschreiben
> aus dem bootloader sondern aus dem "normalen" Programm heraus.

Ein "normales" Programm (außerhalb des Bootloader-Bereichs) kann 
generell nicht in den Flash schreiben. Es muß mindestens ein kleines 
Stück Code im Bootloader-Bereich aufrufen.

Sprich: theoretisch muß mindestens der Kern der Sache, nämlich die 
"spm"-Instruktion im Bootloader-Bereich liegen. Praktisch muß noch etwas 
mehr dort liegen, insbesondere dann, wenn es sich beim Aufrufer um ein 
C-Programm handelt...
Gast #7142491
Lesenswert?
• ▲
▼
SPI/TWI FRAM wäre vielleicht eine interessante Alternative und verträgt 
praktisch unbegrenzte Lese- und Schreibzugriffe. Ausserdem sind keine 
komplizierte FLASH Programmierungsmethoden notwendig.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 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.