unsigned char far text _at_ 0x1000;
The 'L' in the error number indicates that this is a Linker error - not the compiler! Have you correctly set up the Linker for the amount of far memory on your target - and does that include address 0x1000?
I have set correct far memory.off-chip xdata memory 0x0000(size 0x800000) and off-chip code memory 0x0000(size 0x10000). My another question is about application note 160 HUGE VARIABLES.If I declare a huge array using the key word extern,is there any space gap?Just like the following example
extern unsigned char far text1[0xE000]; extern unsigned char far text2[0x8000]; unsigned char far* ptr; ptr = text1; for(i=0;i<0x16000;i++) { FVAR(unsigned char,ptr+i) = 0; }