C51: CODE BANKING WITH SILABS C8051F12X/F13X DEVICES
Information in this article applies to:
I'm using the Silicon Laboratories (former Cygnal) C80C51F120, C80C51F121, C80C51F122, C80C51F123, C80C51F124, C80C51F125, C80C51F126, C80C51F127, C80C51F130, C80C51F131, C80C51F132, and C80C51F133 devices and I need to configure it for code banking. I am confused by the terms used in the SiLabs data sheet and the Keil documentation. They seem not to match and I have therefore the following questions:
The SiLabs Application Note 130: Code Banking with the Keil 8051 Tools describes the configuration of the code banking. The code bank 0 is used as common bank.
The SiLabs on-chip banking mechanism is identical to the example hardware documented in the LX51 User's Guide, Bank Switching, Examples, Banking with Common Area. No code may be assigned to bank 0 since this hardware decoding is used for the common area.
Below are the answers to your questions:
The best way is to use the L51_BANK.A51 and STARTUP.A51 files from the Silabs website:
For generating a HEX file you may use the OHX51 directive MERGE32K.
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Friday, January 8, 2010
of your data.