This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

User defined memory space (mspace)

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;