Hallo MPLAB mit C18 PICKIT3 DEBUG MODUS Ich habe einen 18F4550. Der hat ja 2048 Byte RAM. Dabei sind die Banks ab 0x400 für USB reserviert. Die Bank 0x300-0x3FF ist für irgendeinen STACK??? reserviert Da bleibt ja nicht viel übrig :-( Nun dachte ich mir, nutzt Du mal die Banks 0x100-0x1FF 0x200-0x2FF #pragma udata name100 0x100 klappt prima, alles was danach deklariert wird, legt er ab 0x100 ab. Dann wollte ich noch einen Block für spezielle Felder definieren mit #pragma udata name200 0x200 Im Debug Modus sehe ich aber, daß die Daten ab Adresse 0x60 abgelegt werden. Ich bekomme sie einfach nicht nach Adresse 0x200. Im Linkerscript .lkr sind die Banks alle richtig definiert. Woran könnte das liegen? Wie bekomme ich bestimme Variablen nach 0x200 ??? Gruß Thomas
Gast
#2968012
https://www.google.de/search?q=%23pragma+udata Erste Treffer, Seite (PDF-Zähler) 23 udata scheint für "uninitialized user variables" zu sein. idata scheint für "initialized user variables" zu sein. Funktioniert es mit idata?
Gast
#2968014
Zusatz: http://www.microchip.com/forums/m652722-print.aspx Sind deine Felder größer als 256 Bytes?
Hi Die Felder sind 3 Stück mit je 20 Bytes. Ich meine, mit unsigned char a1[20]; hat es schon nicht geklappt. Derzeit habe ich aber tatsächlich vorbelegt. An das idata hab ich nicht gedacht. Mal sehen ob das damit klappt. Also #pragma idata name200 0x200 Danke und Gruß Thomas
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.