Hallo,
erstmal danke euch beiden für die Antworten.
Christian H. schrieb:
> Dein Compiler kennt eventuell die Direktive "de" nicht.
Ich verwende den PICC-Lite Compiler. Was soll mensch denn da verwenden
anstelle von "de"?
skorpionx schrieb:
> #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
Danke, das habe ich aber noch nicht so ganz gerafft. Ich habe das mal
eingehackert:
1 | #pragma romdata section_eeprom_data =0x2100
|
2 | unsigned char rom EE_DUMMY_BYTE1 = 255;
|
3 | unsigned char rom EE_DUMMY_BYTE2 = 254;
|
4 | unsigned char rom EE_DUMMY_BYTE3 = 253;
|
Aber meinem PICC-Lite scheint es nicht zu gefallen. Er scheint "#pragma
code" nicht zu kennen, und auch die erste Zeile mag er nicht - alles
"unbekanntes pragma".
Ich habe mich mal nach den Assembler-Direktiven des PICC-Lite
informiert, und der Assembler ist ja der ASPIC, der hat da sowas wie
"DB". Das scheint genau so etwas zu tun, was ich brauche. Siehe hier
unter Kapitel 6.3.12.8:
http://www.cs.ucr.edu/~eblock/db/downloads/PICmanual2.pdf
Aber bei diesem Code
1 | #asm
|
2 | org 2100h
|
3 | db 1h
|
4 | org 0
|
5 | #endasm
|
meckert der Compiler in der DB-Zeile und sagt "Fehler 803: undefiniertes
temporäres Label". Kann jemand helfen?
Beste Grüße
Jens