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.
_AT_ is not a Keil keyword, so you must have defined it yourself. Show your definition!
Also, what do you intend by these lines of code:
u_buf[3]="a,b"; u_buf1[3]="c,d";
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:
You cannot simply assign strings in 'C' like that - see your 'C' textbook!