Initializing the Execution Environment
10-5
10
The linker can generate the following symbols for the startup routine:
__Bdata is the starting address of RAM data
__Edata is the end of the .data section
__Btext is the starting address of the .text section
__Etext is the end of the .text section
__Ebss is the end of the .bss section
It is also possible to explicitly define variables in the configuration file.
Supplied configuration files contain definitions of the following:
user_stack is the starting address of the user stack
supervisor_stack is the starting address of the supervisor stack
interrupt_stack is the starting address of the interrupt stack
After linking, you can use the
move command of the rom960 utility to
modify object module section headers and to place named data sections at
specified addresses or locations. This command should be used to
temporarily move the data sections into the ROM address space, usually
immediately after the
.text section, and does not change the relocation
information contained in the section to be moved. The startup routine then
must copy the data to the RAM area specified by the linker.
Linker Configuration Files
A linker configuration file is a linker script that provides information to
the linker about the intended execution environment. Several linker
configuration files are provided, and each contains linker options to create
a complete and unique execution environment. Use the
T (Target) linker
option to specify the configuration file. For more detail on the
T (Target)
option, see the i960 Processor Software Utilities User's Guide.