www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic32 daten nachhaltig im flash ablegen


Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ich habe einen pic32 mit 512kb flash... zum programmieren des flash 
verwende ich das pic kit 3 mit mplap ide 8.33...

ab der adresse 1d078000 moechte ich persistente daten ablegen... dazu 
verwende ich NVMProgram ... funktioniert auch soweit einwandfrei...

mein problem ist nun das bei jedem compile und anschliessendem 
programmieren der bereich geloescht wird (daher auch nachhaltig) ;)

gut ... gibt ja ein paar einstellmoeglichkeiten beim pic kit 3 unter 
settings->programm memory und da auf der rechten seite...

erase flash
und
preserve memory von bis...

stell ich erase flash auf aus... ist klar geht natuerlich nicht... weil 
ja gemerged wird...

gebe ich bei preserve memory 1d078000 - 1d07ffff an bekomme ich eine 
fehlermeldung beim programmieren von wegen das dieser bereich corrupt 
sei... und in der pic kit console "device is code protected"... (wieso 
code protected ? kopfkratz)

hat jemand ne idee wie das funktioniert ? oder ist das nen bug im pic 
kit 3 treiber ?

gruss ;)

Autor: Nico B. (prinzenrolle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
kannst du das was abgelegt werden soll,
nicht in das Programm schreiben und mit dem pragmas an die gewünschte 
stelle legen?
gruß

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne... das was ich ablegen moechte entsteht ja erst zur laufzeit... 
sprich irgendwelche daten die editiert werden... bzw. voreinstellungen 
die ja auch jeder zeit geaendert werden koennen...

naja und die sind halt nach einmal compilieren und programmieren weg... 
ok nur ein problem waehrend der entwicklung... nur bloed ist es trotzdem 
das immer alles weg ist... gerade wenn man testet/und nen fehler behebt 
nervig...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ist hier nur, wie viel Aufwand die "Datenerhaltung" Wert ist!

Wenn die Firmware mal später aktualisiert werden soll, ohne Programmer, 
dann
bietet sich ein Bootloader an. Dem Sendet man die HEX oder BIN Daten und 
der
packt das auch in den passenden Bereich und spart den "geschützten" 
Bereich aus. Die Fehlerprüfung wird durch den Bootloader und nicht durch 
den Programmer vorgenommen.

Alternativ:
-----------
Daten des Bereichs sichern (RS232, ....) und nach dem Flashen wieder 
draufspielen (Benötigt eine Sicherungs- und eine Laderoutine in der 
Firmware....

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.