These options are defined for the MSP430:
-masm-hex
-mmcu=
__
. This in turn will be used by the
msp430.h
header file to select an MCU specific supplimentary
header file.
The option also sets the ISA to use. If the MCU name is one that is
known to only support the 430 ISA then that is selected, otherwise the
430X ISA is selected. A generic MCU name of msp430
can also be
used to select the 430 ISA. Similarly the generic msp430x
MCU
name will select the 430X ISA.
In addition an MCU specific linker script will be added to the linker
command line. The script's name is the name of the MCU with
.ld
appended. Thus specifying -mmcu=xxx on the gcc
command line will define the C preprocessor symbol __XXX__
and
cause the linker to search for a script called xxx.ld.
This option is also passed on to the assembler.
-mcpu=
msp430
,
msp430x
and msp430xv2
. This option is deprecated. The
-mmcu= option should be used to select the ISA.
-msim
-mlarge
size_t
).
-msmall
size_t
).
-mrelax
mhwmult=
none
for no hardware multiply, 16bit
for the original 16-bit-only multiply supported by early MCUs.
32bit
for the 16/32-bit multiply supported by later MCUs and
f5series
for the 16/32-bit multiply supported by F5-series MCUs.
A value of auto
can also be given. This tells GCC to deduce
the hardware multiply support based upon the MCU name provided by the
-mmcu option. If no -mmcu option is specified then
32bit
hardware multiply support is assumed. auto
is the
default setting.
Hardware multiplies are normally performed by calling a library
routine. This saves space in the generated code. When compiling at
-O3
or higher however the hardware multiplier is invoked
inline. This makes for bigger, but faster code.
The hardware multiply routines disable interrupts whilst running and
restore the previous interrupt state when they finish. This makes
them safe to use inside interrupt handlers as well as in normal code.
-minrt