Shell Control Options
SC100 C Compiler
3-25
3.3.8 Specifying the Hardware Model and Configuration
The options in this category let you override some of the hardware and configuration settings defined as
the default during installation.
3.3.8.1 Defining specific configuration and startup files
The default machine and application configuration files used by the compiler, and the startup file used by
the linker, are defined during the installation process.
The machine configuration file includes information about the logical and physical memory maps. This
information enables the global optimizer to dispatch variables to different memory areas in internal ROM
or RAM.
The application configuration file contains information about how the application software and the
hardware interact. The file includes sections about binding interrupt handlers, overlays, and application
objects to specific addresses.
The startup file is used by the linker when it links the assembly code files with the standard libraries, and
defines such items as the interrupt vector and set-up code executed upon system initialization.
These files, and their use in the run-time environment, are described in greater detail in
Chapter 6,
“
Runtime Environment.
”
You may wish to select other files to be used for configuration setup and initialization instead of the
default files, for example, to specify certain devices which need to be initialized at startup.
To specify different files to be used at initialization, select one or all of the options listed below. For each
option, specify the file name, and if the file is not in the current directory, specify the path.
For more detailed information, refer to
Chapter 6,
“
Runtime Environment.
”
3.3.8.2 Defining memory mode
The SC100 architecture instruction set supports both 16-bit and 32-bit addresses. If the application is small
enough to allow all static data to fit into the lower 64K of the address space, then more efficient code can
be generated. This mode (small memory mode) is the default, and assumes that all addresses are 16-bit.
If your application does not fit into 64K bytes, meaning that the use of 32-bit absolute addresses is
required, you must instruct the shell to use the big memory model, by specifying the
-mb
option.
-mc
file
The compiler reads the specified file instead of the default machine configuration
file.
-ma
file
The compiler reads the specified file instead of the default application
configuration file.
-crt
file
The linker links into the application the specified file instead of the default startup
file.