PIC 18F EEPROM in Assembler vordefinieren

OP #1835428
Lesenswert?

Hiho zusammen,
ich habe ein Problem mit der EEPROM Programmierung in Assembler für den 
PIC18f2550, evtl auch nur ein Verständnisproblem und hoffe mir kann 
einer behilflich sein.

bevor ihr mich direkt in der luft zerreißt, weil ich den 18er in 
Assembler beschrieben möchte, ich möchte ein komplexes Programm von 
einem 16er pic auf einen 18er übertragen.

das Schreiben und Lesen im Programmablauf funktioniert ohne Probleme 
auch jeweils die richtigen (erwarteten) Adressen, allerdings möchte ich 
im Assembler Programm schon Grundwerte in das EEPROM mit rein brennen 
und da gibts Probleme.

definiert habe ich die Daten im Programm wie folgt:

 org 0xF00000
        de 0x53    ;Adresse  00
        de 0x45    ;Adresse  01
        de 0x54    ;Adresse  02
...

wenn ich mir die zu brennenden Daten im Brennprogramm anschaue, sieht es 
leider so aus:
53 00 45 00 54 00

und nicht wie gewollt:
53 45 54


das hat beim 16er pic auch wunderbar funktioniert, allerdings hat der 
18er pic eine andere Programmcounter Architektur, auf Gund der 16 Bit 
Befehlsbreite, ich denke da liegt das Problem und die er schreibt für 
jede Zeile 16 Bit ins EEPROM und nicht nur den eigentlich geforderten 8 
Bit Wert, somit stimmen die Adressierungen der Werte nicht mehr.

jemand eine Idee?
OP #1835491
Lesenswert?

hallo holger,

ich habs eben ausprobiert, allerdings meckert beim build der Linker und 
mag die org-Adresse nicht

so richtig verstehe ich nicht, was er von mir möchte


irgendwie verwirrend, was sollte es für einen Sinn machen, dass ich die 
einzelnen EEPROM Zellen  durch direkte Adressierung im Programm lesen 
und beschreiben kann, aber im Assemblerfile die einzelnen Zellen nicht 
ohne weiteres beschreibbar sind
Gast #1835527
Lesenswert?

Ich hab meine Projekte alle mit MPLAB so angelegt und er tut es.
Hatte beim Umstieg von 16F auch das gleiche Problem.
Über den Wizard reloctable auswählen (man kann das nachträglich ändern, 
hab es jetzt aber nicht gefunden) und dann so wie oben angegeben.
Bei Bedarf kann ich dir mal ein abgespecktes Projekt senden.

Holger
OP #1835666
Lesenswert?

hm ok

danke für das Angebot, aber das relocable erzeugt wieder neue Probleme 
bei mir mit dem Linker, wahrscheinlich durch unsaubere Programmierung

ich werde die EEPROM Adressen so abändern dass immer nur jede 2. 
abgefragt wird, zwar auch kein guter Programmierstil aber sollte 
funktionieren, klingt zu mindest einfacher als das ganze Programm wieder 
auseinander zu nehmen

trotzdem danke für die Hilfe holger

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren