I'm using uC - P89C669 It is specified in data sheets uC P89C669 has 2KB of On chip RAM(data memory) & 64KB of ROM(Code Memory). I'm unable to use RAM above 768 Bytes. Also i'm using Keil uVision2 - V2.37(Full Version) & Keil uVision3 -V3.62(downloaded from net) It does not show any error in comiplation when a array with larger size is used, but when i try to read this array buffer it shows garbage value. I've also tried settings in LX51 Locate in Target Options of KEIL compiler. User Class: XDATA - 0x0000-0x2FF HDATA - 0x300-0x7FF i wanted to specify E-DATA instead of HDATA but compiler was not accepting Also i hv put MXON = 0x02 so that SP width is increased to 16bits instead of default 8-bits Is this following assumption right? X-DATA --> 0x0000-0x02FF(includes DATA & IDATA) E-DATA --> 0x0300-0x07FF H-DATA --> external memory ie OFF-CHIP Memory ie 64KB RAM Memory or so
Pls reply
maybe someone sold you a clone or a defective chip, try a bit of DEAD SIMPLE code accessing, say, 0x200 and 0x500 and check the results. When a question like this comes up I will always (if I do not have an ICE for the chip) write some DEAD SIMPLE "hardware verifier" instead of poring over my code with a possibly malfunctioning hardware.
Erik