Hello all. I'm using 0x80000(, 0x90000..) as a mspace for external eeprom(s). Is there a way to avoid to check the (valid) mspace of constants? Or even better, to add a 'new' memory space?
#define T_SIZE 16 #define P_SIZE 4*T_SIZE #define Params_E (0x080000 | 0x0140) #define ParamTab_E(n) (Params_E+n*T_SIZE) #define Param_Chk_E (Params_E+P_SIZE) unsigned char * pp; unsigned char tmp = 0; // This doesn't work pp = (unsigned char *)0x80050; // This does work pp = (unsigned char *)(0x80000 | tmp); // This doesn't work pp = (unsigned char *)Params_E; // This doesn't work pp = (unsigned char *)ParamTab_E(0); // This does work pp = (unsigned char *)ParamTab_E(tmp); // This doesn't work pp = (unsigned char *)Param_Chk_E;