Code Banking

Hello,

Is there any way to make different bank use different address space(starting address and ending address is not same to each other)? Thank you!

Parents
  • No. The major concept behind code banking is that your hardware provides a switchable memory window that you can point to different spaces. Having the banks start at different addresses would eliminate any benefit of code banking.

    It _is_ possible to place all of your code banks in one >64Kb device by using a port as additional high bits in the code address. That is, the 16 ROM address lines from the 8051 are linked to the lower 16 address lines of the ROM, and a port (P1-P7) is mapped to address lines 16,17,18, etc for however many banks that you need. Look in the application notes for an example of how to do this, if this is, in fact, what you're trying to do.

Reply
  • No. The major concept behind code banking is that your hardware provides a switchable memory window that you can point to different spaces. Having the banks start at different addresses would eliminate any benefit of code banking.

    It _is_ possible to place all of your code banks in one >64Kb device by using a port as additional high bits in the code address. That is, the 16 ROM address lines from the 8051 are linked to the lower 16 address lines of the ROM, and a port (P1-P7) is mapped to address lines 16,17,18, etc for however many banks that you need. Look in the application notes for an example of how to do this, if this is, in fact, what you're trying to do.

Children
More questions in this forum