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

Memory addressing problem with ez-usb (CY7C68013a)

I have written the simple program as follows..

 BYTE xdata u_buf1[1]         _AT_  0x4001;
 BYTE xdata u_buf[1]           _AT_ 0x4000;

void main(){

        int val;
        OEB=0xFF;

   u_buf[3]="a,b";
   u_buf1[3]="c,d";

     while(1){

        IOB=u_buf1[1];

   }
  }

I keil debugger memory window it is showing that both of variabls u_buf[1] and u_buf1[1] is storing at location X:0x0000.
Whether i assigned them different location.
and junk valu is displaying at 0x0000 location.



Parents Reply Children
  • Here _AT_ is #defined as _at_ .
    so it's ok it is not showing any error.
    secondly..my memory map is some thing like this as follows.. www.cypress.com/.../server.pt

    You can download Ez-usb technical reference manual from above link..
    refer page number-84 fig-5.2
    here i intend to store a array in external memory location 0x4000.
    so i am using _at_ to do that.

    ----------------------------------------------------------------------------------------------------------------
    the following declaration

    XBYTE[0X4000]=0X55;
    XBYTE[0XE000]=0XAA;

    stores 0x55 in external memory location(xdata) 0x4000
    and
    stores 0xAA in external location (xdata) 0xE000.

    but i am not able to access it while storing a array at that location.
    Please help me out...

  • It really doesn't help to format your entire post as Bold, does it?

    You still haven't explained what you intend this code to do:

    u_buf[3]="a,b";
    u_buf1[3]="c,d";
    


    You cannot simply assign strings in 'C' like that - see your 'C' textbook!