Topic: Linking and Locating Software: 1. Linker
Topic: Linking and Locating Software: 1. Linker
Topic: Linking and Locating Software: 1. Linker
1. Linker:
Links the compiled codes of application software, object codes from library and
OS Kernel functions.
Linking necessitates because of the number of codes to be linked for the final
binary file.
Linking Necessity:
For example, standard codes for to program a delay task, must link with the
assembled codes.
The delay code sequential from a beginning address.
The assembly software codes also sequential from a beginning address.
Both the codes have to at the distinct address as well as at the available address
in the system.
After linking, re-allocation of the sequences of placing the codes before actually
2. Loader:
3. Locator:
When the code embeds into ROM or flash, a system design process is locating
these codes as a ROM image.
Codes are permanently placed at the actually available addresses in the ROM.
Embedded systems-no separate program to keep track of the available address at
different times during the running, as in a computer.
Various software tools and chain of actions of linker at host and locator in an embedded
system
Next step after linking-use of a locator for the program codes and data in a place
of a loader.
The locator is specified by the programmer as per available addresses at the
RAM and ROM in Target.
Programmer defines the available addresses in embedded systems for loading to
load and creating files for permanently locating the codes using a device
programmer.
Uses cross-assembler output, a memory allocation map and provides the locator
program output file.
Locator program output is in the Intel hex file or Motorola S-record format.
Uses the cross compile codes in different cross-compiled segments for (i)
instructions, (ii) intitialized values and addresses (iii) constant strings (iv)
uninitialized data.
Locates the I/O tasks and hardware device driver codes at the unchanged
addresses. These are as per the interfacing circuit between the system buses and
ports or devices.
Locator output
A smart card system memory allocation map for the locator program
A digital camera system memory allocation map for the locator program