This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Code limit exceeding 64KB

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.

Parents Reply Children
  • 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

  • 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.

    The code memory size has been increased to accomodate the code to handle the increased code memory.

  • 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.

    Erik

  • "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").