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.
Can anybody say how to interface the EPROM(64KB) with P89c51RD2HBP so that when the code limit exceeds 64KB in the philips controller the exceeded segment should goto the EPROM.
In addition to what Andy has posted You should also consider whether this is an indication that the P89c51RD2HBP is the wrong chip for the job In all (non-forum) cases where I have been asked about code banking the solution has been NOT to use code banking, but to write better code. A typical request for code banking will be combined with "we use the LARGE model" or some such.
Once you go for code banokng the process will snowball, first you lose 16 port pins (and - most likely have to make some MMIO) which again increases your code size, then you will find other areas where the effect of banking result in growth.
BTW why use a discontinued chip the Rx2H has been discontinued for, at least, two years.
If you insist on using bloated code and banking you will, with the P89c51RD2HBP need to have ALL code memory external, since the !EA is latched on power up.
Erik
The code memory size has been increased to accomodate the code to handle the increased code memory.
yes, you have the size, but you still need to write all that additional stuff.
"A typical request for code banking will be combined with 'we use the LARGE model' or some such."
ie, variables default to being in XDATA. Thia causes code bloat because you have to keep loading the DPTR.
In one project, moving a few extensively-used variables from XDATA to DATA saved several K of code space!
You can identify the most extensively-used variables by using the uVision Code Browser: http://www.keil.com/support/man/docs/uv3/uv3_ut_sourcebrowser.htm Click the label at the top of the 'Uses' column to sort by the number of times symbols are references (or "used").