202
Development Tools User’s Guide
Intel
®
IXP2400/IXP2800 Network Processors
Linker
4. The loader library updates the “immediates” with the bind-value for all occurrences of the
variable in the microimage.
5. In Intel
®
XScale
®
application, load the images to appropriate Microengines via a loader
library function.
6.2
Microengine Image Linker (UCLD)
ucld is an executable that accepts a list of Microengine images (*.list) generated by the Assembler,
(uca), or by the Compiler (uC), and combines them into a single object that is loadable by the core
image, running on the Intel
®
XScale
®
core processor, utilizing Microengine Loader Library
(UcLo) functions.
6.2.1
Usage
ucld [options ...] list_file ...
6.2.2
Command Line Options
The following table lists the Linker command line options.
Table 9. Linker Command Line Options
Option
Definition
-h
Print a description of the ucld commands.
-c
Creates a hexidecimal representation of the output object to a ‘C’ module. The filename
will be the name of the output object file but with a ‘.c’ file type.
-dr byteAddr:byteSize
Define DRAM data allocation region. Default is 0:0x80000000.
(IXP2400 and IXP2800)
-f [fill_pattern]
Fill the unused microstore with the hexidecimal constant specifier. If the -f option is not
specified, then only up to the last microword used will be output. The default fill_pattern
value is the ctx_arb[kill] instruction.
-g
Include debugging information, to be used by the Workbench, in the output object file.
-o outfile
The default output file is the name of the first .list input file with a file type of .uof.
-sc byteAddr:byteSize
Define SCRATCH data allocation region. Default is 0:0x4000.
-seg file
Creates a 'C' header file defining the variables memory segments.
-sr
n
byteAddr:byteSize
Define SRAM data allocation region where ‘n’ is 0,1,2, or 3 for the specific memory bank.
Default is 0:0x04000000 for byteAddr:byteSize.
-u n [n1...]
Associates a list of uEngines to subsequent uca_list_file, where 'n' is a list of uEngine
numbers separated by space. All uEngines are assigned by default.
-v
Print a message that provides information about the version of the Linker being used.
-map [file]
Generate a linker .map file. The generated filename is the same as the .uof file but with
the extension .map. The .map file contains the symbols and their addresses.
-l
The –l switch is used to disambiguate between microengine number and *.list file path. In
earlier versions, if a *.list file name started with a number, that number would be parsed as
a microengine number rather than as part of the *.list file name. Using the –l switch
permits *.list file names that begin with a number.