The CodeWarrior Development Studio provides a common interface for developing, debugging, and analyzing your applications. The project-oriented Workbench window provides numerous perspectives containing views, editors, and controls that appear in menus and tool bars. After creating a project, build your application, define a launch configuration, and then wait for data collection and data display.
The StarCore Linker generates an executable file by combining the object files and libraries specified in your project. Using a linker command file (LCF), you can instruct the linker to store portions of your executable in different areas of memory. The linker relocates and binds symbols to addresses according to the directives in your LCF.
The StarCore linker supports the SC100 and SC3000 architectures, and all Freescale devices based on these architectures, including the SC140 and SC3400 and its variants.
The highlights of the linking process are:
1. Build a map of available memory according to the .memory and .reserve directives defined in the linker command file.
2. Read the input object files and libraries. Combine like-named sections, build the global symbol table, and resolve undefined references.
3. Strip data never used; strip the code of functions never called.
4. Place segments in memory, according to .firstfit, .org, and .segment directives. Place all absolute sections before placing relocatable sections. If any sections are left over after processing the segment directives, place those remaining sections in their own segments on a first-fit basis.
5. Generate any LoadAddr_ symbols for overlays. Check each module’s symbol table to ensure that there are no more undefined references.
6. Process the relocations to resolve external reference values.
7. Write the executable output file.
This and many more features are now updated in the SC100 Linker User Guide, take a look at it and start developing with CodeWarrior!