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

I can't use keyword _at_ with far

unsigned char far text _at_ 0x1000;
CX51 gives error L107 address space overflow.The device is DS80C390.

Parents
  • 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;
    }
    

    How text1 and text2 is linked,any space gap between temp.I am confused with So even with the restriction of
    64KB objects it is possible to define struct or arrays that are bigger than 64KB.
    Do I have to use a struct array to link text1 and text2?

Reply
  • 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;
    }
    

    How text1 and text2 is linked,any space gap between temp.I am confused with So even with the restriction of
    64KB objects it is possible to define struct or arrays that are bigger than 64KB.
    Do I have to use a struct array to link text1 and text2?

Children
No data