We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I'm using the latest (Evaluation) version of UVision2. I have a project in which the EPROM and RAM are tied together. The EPROM is at 0-7fffh and the RAM at 8000h-FFFFh. In Target Options I get the error (XDATA memory range out of bounds) if I try to set up 8000h as a RAM starting address. Please Help Brian
"The EPROM is at 0-7fffh and the RAM at 8000h-FFFFh." Remember that the 8051 and uVision don't know or care about what actual memory devices you may have in your external hardware: ROM, RAM, Whatever - it's all irrelevant. All they know is that Instruction fetches and MOVC instructions will read CODE space, and MOVX instructions can read or write XDATA space. How you map the CODE and XDATA spaces into physical memory devices is entirely down to your hardware design. So, when you say, "RAM at 8000h-FFFFh." Do you mean that XDATA addresses X:0x0000-0x7FFF map to physical addresses 0x8000-FFFF in your external memory map? Or XDATA addresses X:0x0000-0x7FFF are not used, and XDATA addresses X:0x8000-0xFFFF map to physical addresses 0x8000-FFFF in your external memory map? Or what?
I have PSEN and RD ANDED together. movx and movc point to eprom if the address is between 0-7fff and ram if above 7fff.
So, how exactly are you trying to specify this to the tools? What 8051 variant are you using? Have you specified the correct Device to uVision? Full, or Evaluation version?
I'm using the evaluation version & Dallas 80c320. In the "options for target 'Simulator'" box, if I enter a 0x8000 Start address for off-chip XDATA memory I get a (XDATA memory range out of bounds) error. I'm assuming that the compiler uses this address for ,at least, error checking.
don't the eval locate the code at x8000?. That would cause the problem. from memory- never used an eval Erik
"don't the eval locate the code at x8000?." No, it's 0x0800, and that's only code - no mention of any XDATA limits at http://www.keil.com/demo/limits.htm (unless this eval board ships with some other special version - some do). "I enter a 0x8000 Start address for off-chip XDATA memory" What do you enter for the Size? That box needs both a 'Start' and a 'Size'
That was it (a type in thew size column) Thanks Brian