|
The LX-51 8051 linker is the standard linker for the 8051 family but, unlike many
other linkers, it has been expanded with several new directives
and concepts. For example 'segment grouping' allows better CPU
control and more efficient mapping of user memory.
With the RIDE development environment, the implementation of
LX-51 is easy, as the file and library list are automatically accessed
when an application is 'made'.
|
Default options allow immediate application of the linker in
a way that is almost transparent to the user.
The LX-51 Linker is used for linking files (relocatable modules)
that have been assembled or compiled separately, in order to produce
a single file, which is directly usable in the programming of
an EPROM (ROM), or for loading onto a debugging tool such as PCE-5130C
or SIMICE-51.
|
|
LX-51 only processes files in relocatable OMF-51 format,
generated by most assemblers and compilers in files with the extension
OBJ. The final file produced by LX-51 is also in OMF-51
format, but contains only absolute, rather than relocatable,
segments. This file has the suffix AOF.
The different stages of linking
- Choice of the necessary modules. Those modules containing
information of no use will simply be ignored.
- Allocation of necessary memory space for each of the segments
declared in the selected modules, and translation of intra-module
references.
- Resolution of the EXTERNAL references between modules.
- Generation of absolute code.
- Detection of errors or anomalies arising from the preceding
stages, and creation of a list file.
|
Generated files
LX-51 creates two types of file: absolute code files and list
files. These files have the same name, but different suffixes:
M51 for the list, AOF for absolute code, and Xk
(k=1,..31) for code files where the EXTENDEDAREA option
has been used.
The format of the output files is the same as that of the input
files i.e. OMF-51. As these output files no longer contain
relocatable segments, they can be directly loaded by RAISONANCE's
debugging tools: SIMICE-51 or PCE-51. However, these
output files conserve the symbol tables in order to allow symbolic
debugging.
The listing is an ASCII file that reports errors encountered
during the Linking process, physical space addresses for all relocatable
segments, and a table of symbols.

|