TASKING's new generation locator is a powerful toolbox for the embedded developer to obtain an optimal mapping of the application object code on the target hardware. It supports multi-core targets, multiple tasks, and an easily-configurable locate process.
The locator employs general concept of Object Consumers and Object Producers that are used between various tools components in an embedded software tool-chain (see picture below). All Producers and Consumers in a tool chain share a common interface, which makes interoperability between those components much more consistent and transparent, and easier to support new file formats as they are adopted.

The major features of the Locator include:
- Support for most popular object formats:
- ELF/DWARF 1.x/2.x
- Intel hex records
- Motorola S-records
- IEEE-695
- Support for multi-core targets
- Support for multiple independent tasks
- Full control over the locate process
- Graphical map viewer
- User configurable data overlaying
Multi-core target support is achieved by enabling the locator to read multiple processor descriptions and assign each task to a specific processor. Memory can be assigned to each processor individually or shared between processors.
The locator allows the definitions of multiple tasks, where each task will get its own heap, stack, etc., allowing each task to run independently.
Special care is taken to make the locate-process more configurable and flexible. The locator supports incremental locating which will allow for sections to be added or replaced in the absolute application. It is also possible to resolve unresolved references by assigning an absolute value or a label. This will allow the user to test an application in an early phase of development and develop multi-core applications separately for each core. It also allows the user to write its own sophisticated initialization functionality.
To give the user complete control over the locate process, sections can be assigned to absolute addresses, address ranges, or an order relative to another section (including section overlaying). To facilitate this process, a user can define groups of sections and apply restrictions to these groups.
To evaluate the result of the locator, a graphical map viewer is used to zoom in on selected areas of the memory to get detailed information about the location of the sections.


