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


von gast (Gast)


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 ;)

von Nico (prinzenrolle)


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ß

von gast (Gast)


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...

von Matthias (Gast)


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....

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.