EEPROM-Bereich des PICs beim Brennen nicht löschen

OP #1447741
Lesenswert?
• ▲
▼
Hallo alle zusammen,
kann man beim Brennen eines PICs das Überschreiben des EEPROM-Bereichs 
abschalten?
Hintergrund ist, dass ich dort Daten ablegen möchte, die aber nach dem 
Brennen nicht immer wieder neu erzeugt werden sollen.
Ich benutze die Software "US-Burn V1.10 a2" und den "Brenner8, Firmware 
V. 0.13" von Sprut. Den Haken unter "Optionen/includeEEPROM" habe ich 
entfernt, geht aber trotzdem nicht.

Was mache ich falsch?

  Viele Grüße
Kalli
PS: Eine Mail an Sprut habe ich natürlich auch schon geschickt... falls 
von da eine Antwort kommt werde ich es euch wissen lassen
Gast #1822018
Lesenswert?
• ▲
▼
Ich habe das gleiche Problem. Heute habe ich  eine Mail an Sprut 
geschickt.
In einer neuesten Programm Version sieht man schon Vorbereitung 
Vorbereitung (sehe die Optionen) für die Änderung. Übrigens  auch wenn 
*.hex Daten keine Daten für EEPROM Programmierung enthalten, das Inhalt 
vom EEPROM wird gelöscht. Das kann sehr störend bei der Programmierung 
sein. Als vorläufige Lösung könnte man (vor Programmierung!) den PIC 
Inhalt auslesen. Am Ende vom *.hex File befinden
sind die Daten für EEPROM. Die müsste man dann immer am Ende von *.hex 
Daten die MPLAB erzeugt anhängen. Vielleicht muss ich dazu etwas 
hilfreiches erstellen.
Ich programmiere nur in C. In diesem Fall (PIC 18F258)  muss man (vor 
main() ) Z.B. so etwas schreiben:

#ifdef WITH_EEPROM_DATEN
 #pragma romdata section_eeprom_data =0xf00000
 unsigned char  rom     EE_DUMMY_BYTE1   = 255;
 unsigned char  rom     EE_DUMMY_BYTE2   = 254;
 unsigned char  rom     EE_DUMMY_BYTE3   = 253;
 unsigned char  rom EE_DUM[]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
#endif

#pragma code

main()
{
Nur dann  erstellt MPLAB auch Daten für EEPROM im *.hex File
Angehängte Dateien:
OP #1823475
Lesenswert?
• ▲
▼
Hallo...
die Mail an Sprut wird vermutlich in seinem Spamfilter hängen bleiben 
;-) , ist meine auch, denn ich habe bis heute keine Antwort.
Bei meinem Projekt bin ich noch nicht weiter, kommt aber wieder, wenn 
ich wieder Zeit dazu finde und es eine Lösung für das Problem gibt.
C kann ich nicht, ich benutze nur den Assembler
Gast #1823570
Lesenswert?
• ▲
▼
Ich habe die Antwort vom Sprut bekommen:

„Hallo,

das Löschen an sich kann ich nicht verhindern, da ein separates Löschen
nicht bei alles PICs möglich ist.
Allerdings bietet USBurn als Option an, den EEPROM vor dem Löschen
auszulesen, und dann zusammen mit dem HEX-File gleich wieder in den
EEPROM zu schreiben. Das kommt ja auf das Gleiche heraus.
Options - PIC programming options - keep old EEPROM data „

Die Antwort erklärt etwas.  Gleich habe ich den Test durchgeführt.
Um den alten EEPROM-Inhalt zu behalten:

1. Beide Optionen (sehe das Bildchen oben) auswählen
2. im C-Programm muss explizit mindestens eine  Adresse vom EEPROM
beschrieben werden. Ohne das im *.hex File die Beschreibung Sequenz für
EEPROM da ist, funktioniert die Sache nicht. Das Sprut Programm (Beta 
Version) hat noch Probleme mit dem auslesen vom EEPROM. Ich habe 
festgestellt das keine Fehler passieren
wenn das letzte Byte vom EEPROM mit einer Zahl <> 255 beschrieben wird.
Ich habe mich entschieden dort die Version vom Projekt zu schreiben.

Ein Teil von meinem C-Programm:
#define  PROG_VERSION 1
#define WITH_EEPROM_DATEN
#ifdef WITH_EEPROM_DATEN
 #pragma romdata section_eeprom_data =0xf000ff
 unsigned char           rom     EE_PR_VERSION = PROG_VERSION
#endif

#pragma code


void main(void)
 {
…..
if(eeprom_read(255)!=PROG_VERSION)
  eeprom_write(255,PROG_VERSION);
….

Mit Fehler muss man sich arrangieren...
Angehängte Dateien:

Antwort schreiben

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.

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.