* e.g. alias = 0x80 means start_address is identical
* to the memory location at (0x80 | start_address) */
int bank; /* PIC memory bank this range occupies */
+ struct memRange *next; /* linked list */
} memRange;
*/
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 */
void addMemRange(memRange *r, int type);
void setMaxRAM(int size);
void setDefMaxRam(void);
-unsigned getMaxRam(void);
-int getHasSecondConfigReg(void);
-int pic14_getSharebankSize(void);
-int pic14_getSharebankAddress(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_allRAMShared(void);
+int pic14_hasSharebank(int *low, int *high, int *size);
+int pic14_getSharedStack(int *low, int *high, int *size);
+PIC_device * pic14_getPIC(void);
#endif /* __DEVICE_H__ */