Linker lk62 Development Tools
Outline

Links the relocatable objects created by the assembler by fixing

the memory locations, and creates executable absolute object

codes. The linker also provides an auto PSET insertion/correction

function allowing the programmer to create sources without having

to know branch destination page numbers.

Flowchart
Start-up Command Usage
Usage: lk62 [options] <object files.O> <ICE param file.PAR> <command file.CM>
Options: -d Disable all branch optimizations
-di Disable insertion of branch extension
-dr Disable removal of branch extension
-e Output error log file (.ERR)
-g Add source debug information
-l Output absolute list file (.ALS)
-m Output map file (.MAP)
-o <file name> Specify output file name
-s Output symbol file (.SYM)
-x Output cross reference file (.XRF)
-code <address> Specify CODE start address
-bss <address> Specify BSS start address
-rcode <file name>=<address> Specify CODE start address of the file
-rbss <file name>=<address> Specify BSS start address of the file
Error Messages
CALL for different bank at <address>
The call instruction calls a subroutine in another bank.
CALZ for non zero page at <address> The calz instruction calls a subroutine in another
bank or another page other than page 0.
Cannot create <file kind> file <FILE NAME> The file cannot be created.
Cannot open <file kind> file <FILE NAME> The file cannot be opened.
Cannot read <file kind> file <FILE NAME> The file cannot be read.
Cannot write <file kind> file <FILE NAME> Data cannot be written to the file.
Illegal file name <FILE NAME> The file name is incorrect.
Illegal file name <FILE NAME> specified with The file name specified with the option is incorrect.
option <option>
Illegal object format <FILE NAME> The input file is not an object file in IEEE-695 format.
Illegal option <option> An illegal option is specified.
CODE section <address> - <address> overlaps The address range of the section is duplicated.
with <section type> section <address> - <address>
No address specified with option <option> Address is not specified with the option.
No code to locate There is no valid code for mapping.
No ICE parameter file specified ICE parameter file is not specified.
No name and address specified with option Name and address are not specified with the option.
<option>
No object file specified Object files to be linked are not specified.
CODE section <address> - <address> The CODE section is across the page boundary.
crossed page boundary
<section type> section <address> - <address> The section exceeds the valid memory range.
overlaps with the unavailable memory
Unusable instruction code <operation code> at An undefined code is used.
<address> <object file name>
Unresolved external <label> in <FILE NAME> Reference was made to an undefined symbol.
Branch destination too far from <address> A destination address in another page is specified.
Warning Messages
Cannot create <file kind> file <FILE NAME> Symbols cannot be found.
Cannot open <file kind> file <FILE NAME> The file cannot be opened.
Second definition of label <label> in The label has already been defined.
<FILE NAME>
Linker
lk62
file.o
Relocatable
object file(s)
Linker
command file
file.sym file.xrf
file.cm
ICE
parameter file
file.par
file.abs
Absolute
object file Cross
reference file
file.als
Absolute
list file
file.map
Link
map file Symbol
file Error file
file.err
to Debugger
from Assembler