Hello! I have problem with external memory access on XC167CI. The external RAM is organized on PLD. Need about 1 KB (64 kb non segment memory). I use 2-byte variables (unsigned int) to store on external RAM and 16-bit multiplexed bus. The address of one variable is 0x0400 - this is 16-bit address. In start_v2.a66 i check CS1 for start address is 0x000000. I use unsigned int near pointers. What settings i must do in CS1? And what types of variables and pointers to use for it?
How did you configure the EBC? Have a look at http://www.keil.com/forum/docs/thread2624.asp and than try to describe your problem more precisiously. Stefan
I cant understand one thing. If i use 16 bit multiplexed bus, only 16-bit address must be used? 16-bit address points to 64KB. But in start_v2.a66 there is start address is absolute - 0x000000, more than 16 bit. PLD have address 0x0100. What types of variables and pointers to access it?
That depends on the memory model you use. If I use an external RAM e.g. start from 0x10000 and use small model, than I can access the RAM as an array variable.
unsigned int xhuge arrRAM[0x20000]; ... for(i=0;i<0x20000;i++) { if(read_RAM(i)=='0') { continue; } else { printf("\r\nError at %05d",i); break; } }