X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic%2Fdevice.h;h=bea75a49625c661a3770aa2f4395dec283ce0de5;hb=4fa52c899d3553b51d56db35d035f17b7e22e66b;hp=d961b339de51a5c8477dce07b54bb29148fb7dc2;hpb=cec76eccf6ccffcd833c6108053bc2f90d84b842;p=fw%2Fsdcc diff --git a/src/pic/device.h b/src/pic/device.h index d961b339..bea75a49 100644 --- a/src/pic/device.h +++ b/src/pic/device.h @@ -71,10 +71,9 @@ typedef struct AssignedMemory { */ extern AssignedMemory *finalMapping; -#define PROCESSOR_NAMES 4 /* Processor unique attributes */ typedef struct PIC_device { - char *name[PROCESSOR_NAMES];/* aliases for the processor name */ + char *name; /* the processor name */ memRange *ram; /* RAM memory map */ memRange *sfr; /* SFR memory map */ @@ -83,6 +82,12 @@ typedef struct PIC_device { int defMaxRAMaddrs; /* default maximum value for a data address */ int bankMask; /* Bitmask that is ANDed with address to extract banking bits */ // int hasAliasedRAM:1; /* True if there are bank independent registers */ + int hasSecondConfigReg; /* True if there is a second configuration register */ + + int programMemSize; /* program memory size in words - for device listing only */ + int dataMemSize; /* data (RAM) memory size in bytes - for device listing only */ + int eepromMemSize; /* EEPROM memory size in bytes - for device listing only */ + int ioPins; /* number of I/O pins - for device listing only */ } PIC_device; @@ -102,4 +107,12 @@ void addMemRange(memRange *r, int type); void setMaxRAM(int size); void setDefMaxRam(void); +void pic14_assignConfigWordValue(int address, int value); +int pic14_emitConfigWord (FILE * vFile); +int pic14_getConfigWord(int address); +unsigned pic14_getMaxRam(void); +int pic14_getHasSecondConfigReg(void); +int pic14_getSharebankSize(void); +int pic14_getSharebankAddress(void); + #endif /* __DEVICE_H__ */