|
|||||||||||
Technical Support Support Resources
Product Information |
C51: Const Variable Banking With Silicon Labs C8051F12x DevicesInformation in this article applies to:
QUESTIONCan I use code banking and constant variable banking on Silicon Laboratories (formerly Cygnal) C80C51F120, C80C51F121, C80C51F122, and C80C51F123 devices? ANSWERYes. You may easily configure the Keil C51 tools to use code banking and constant banking on these SiLabs devices. Additionally, the Keil µVision2 Debugger fully simulates code banking with these parts. To begin, configure the L51_BANK.A51 file for Banking Mode 4. It is important that the field IFBANK and COBANK have the same value, so, the SWITCH Macros should be set as follows:
Next, the startup code (STARTUP.A51) must be modified to call the ?B_SWITCH1 function.
Basically the SiLabs Banking mechanism is identical to the example hardware documented in the Code Banking section of the BL51 User's Guide. No code may be assigned to bank 0 since this hardware decoding is used for the common area. With the extended LX51 Linker/Locater that is available in the PK51 Professional Developers Kit you can locate constants in code banks using the far const memory support. For more information take a look at the example in \KEIL\C51\EXAMPLES\FarMemory\1MB Constants on Classic 8051\. When using the LX51 Linker/Locater you can directly generate the HEX file image using the LX51: Generating Hex Files for Banked Applications directive. MORE INFORMATION
SEE ALSO
Last Reviewed: Thursday, February 25, 2021 | ||||||||||
|
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.