1.1 Software Development Tools Overview
Figure 1-1 illustrates the software development flow. The shaded portion of the figure highlights the most common path of software development for C language programs. The other portions are peripheral functions that enhance the development process.
The following list describes the tools that are shown in Figure 1-1:
- The compiler accepts C/C++ source code and produces MSP430 assembly language source code. See Section 2.
- The assembler translates assembly language source files into machine language relocatable object files. See the MSP430 Assembly Language Tools User's Guide.
- The linker combines relocatable object files into a single absolute executable object file. As it creates the executable file, it performs relocation and resolves external references. The linker accepts relocatable object files and object libraries as input. See Section 4 for an overview of the linker. See the MSP430 Assembly Language Tools User's Guide for details.
- The archiver allows you to collect a group of files into a single archive file, called a library. The archiver allows you to modify such libraries by deleting, replacing, extracting, or adding members. One of the most useful applications of the archiver is building a library of object files. See the MSP430 Assembly Language Tools User's Guide.
- The run-time-support libraries contain the standard ISO C and C++ library functions, compiler-utility functions, floating-point arithmetic functions, and C I/O functions that are supported by the compiler. See Section 7.
The library-build utility automatically builds the run-time-support library if compiler and linker options require a custom version of the library. See Section 7.4. Source code for the standard run-time-support library functions for C and C++ is provided in the lib\src subdirectory of the directory where the compiler is installed.
- The hex conversion utility converts an object file into other object formats. You can download the converted file to an EPROM programmer. See the MSP430 Assembly Language Tools User's Guide.
- The absolute lister accepts linked object files as input and creates .abs files as output. You can assemble these .abs files to produce a listing that contains absolute, rather than relative, addresses. Without the absolute lister, producing such a listing would be tedious and would require many manual operations. See the MSP430 Assembly Language Tools User's Guide.
- The cross-reference lister uses object files to produce a cross-reference listing showing symbols, their definitions, and their references in the linked source files. See the MSP430 Assembly Language Tools User's Guide.
- The C++ name demangler is a debugging aid that converts names mangled by the compiler back to their original names as declared in the C++ source code. As shown in Figure 1-1, you can use the C++ name demangler on the assembly file that is output by the compiler; you can also use this utility on the assembler listing file and the linker map file. See Section 8.
- The disassembler decodes object files to show the assembly instructions that they represent. See the MSP430 Assembly Language Tools User's Guide.
- The main product of this development process is an executable object file that can be executed in a MSP430 device.