C51 Development Tools
Emulators & Debuggers
Other C51-Related Info
C51 Development Tools
LX51 Enhanced Linker
Top 3 Articles
The LX51 linker/locator combines object modules and creates
executable 8051 programs. The linker resolves external and public
references and assigns absolute or fixed addresses to relocatable
program segments. The LX51 linker processes object files created by
the Keil C51 Compiler, CX51
Compiler, A51 Assembler, AX51 Assembler, and the Intel PL/M-51 Compiler and
ASM-51 Assembler and generates an absolute OMF2 object module.
The LX51 Enhanced Linker offers the following features that are
not available in the BL51 Code Banking
Special ROM Handling
The LX51 linker provides the SROM memory class that is used to
handle segments or memory classes that are stored in ROM but copied
to RAM for execution.
Segment and Class Information
The LX51 linker creates special symbols that can be used to obtain
address and length information for segments or classes used in an
Bank Table Optimization
The LX51 linker allows you to specify the default code bank after
reset. This optimization reduces the size of the inter-bank jump
User Provided Memory Classes
The USERCLASS directive (for the C51 and CX51 compilers)
allows you to specify class names for compiler-generated
Support for XDATA Constants
You may declare variables in the far const memory space which is
located in ROM.
This linker optimization reduces total program size by up to
When using this optimization, the linker rearranges program
segments so that AJMP and ACALL instructions used
(instead of LJMP and LCALL).
Global Assembler Code
The linker can generate a program-wide mixed source/disassembly
The LX51 linker supports up to 8 MBytes of code and
8 MBytes of data space.
Case Sensitive Symbol Names
Symbol names are now case-sensitive.
Detailed Data Type Checking
Detailed information is included in the object module for all
program objects (like variables, functions, function argument
lists, unions, structs, and so on). The LX51 Linker compares these
between object modules and reports any mismatches. This helps you
locate subtle errors in the declarations of your functions,
structures, and variables.
Support for Up To 64 Code Banks
Code banking programs may now support up to 4 MBytes of program