we have configured the P89C51X2BN for code banking through it's port P3 (bits 2 and 3). LX51 linker is used for linking/locating. There are 4 banks, each of 32 K. The common area is from 0x0000-0x7fff. The interrupt vectors and function modules commonly called from the main function are all part of common. When the code is simulated, then correct addresses are being generated.However,the same code fails to work on the actual code - the bank switching fails. Could anyone tell me where we are going wrong?
my guess is that you have the internal flash enabled - or, if you prefer - not disabled. In that case all code outside bank 0 and 1 will be "executed in bank1" which, of course, holds the bank1 code.
Erik