Keil Logo


Information in this article applies to:

  • C51 Version 7


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:

  1. What is the common area and the size of the common area?
  2. How many code banks should I declare in µVision?
  3. What will be size of each code bank?
  4. If I declared 4 code banks in µVision2, do I get 32K common area + 4x32K code banks?


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:

  1. The common area is identical to bank 0 (C:0-C:0x7FFF) and is 32KB.
  2. You need to define 4 code banks in L51_BANK.A51 configuration file.
  3. The size of each code bank is 32KB.
  4. Bank 0 is the common area. No module can be assigned to code bank 0.

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

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.