Sets preprocessor symbols which can be checked with
#if, #ifdef and #ifndef. The defined names are
copied exactly as they are entered (case-sensitive). Optionally,
each name may get a value. Define: Check, NoExtRam, X1=1+5
is identical to the following C preprocessor #define
statements:
#define Check
#define NoExtRam
#define X1 1+5
Undefine
Clears previous Define assignments that are
entered in the options dialog of a higher Target or Group level.
Language / Code Generation
Enable ARM/Thumb Interworking
Generates code that can be called in any CPU mode
(ARM or Thumb). The option is available only for CPUs that can
switch between ARM and Thumb mode. Sets the compiler command-line
option --apcs=interwork.
Optimization
Control compiler code optimization for the generated code. Sets
the compiler command-line option -Onum:
Default: Use the compiler default or the setting of
a higher Target or
Group level.
Level 0 (-O0): Turn off all optimization, except
some simple source transformations.
Level 1 (-O1): Turn off optimizations that seriously
degrade the debug view.
Level 2 (-O2): High optimization (default level).
The debug view might be less satisfactory because the mapping
of object code to source code is not always clear.
Level 3 (-O3): Maximum optimization. Note that
Level 3 in combination with Optimize for Time may
generate more code that Level 2 since it may unroll
loops.
Optimize for Time
Reduce execution time at the possible expense of a
larger code size. Sets the compiler command-line option -Otime. If
not enabled, the compiler assumes -Ospace.
Split Load and Store Multiple
Instructs the compiler to split LDM and STM
instructions into two or more LDM or STM instructions to reduce
interrupt latency. When the LDM/STM have more than 5 (more than 4
when the PC is changed) CPU registers, several LDM/STM instructions
are generated. Sets the compiler command-line option --split_ldm.
One ELF Section per Function
Generate one ELF section for each function in source
file. Output sections are named with the same name as the function
that generates the section. Allows to optimize code or to locate
each function on individual memory addresses. Sets the compiler
command-line option --split_sections.
Strict ANSI C
Check for strict ANSI C conformance of the source
file. Sets the compiler command-line option --strict.
Enum Container always int
When disabled, the data type container for
enum is optimize according the value range. When enabled,
the data type container for enum is always signed
int. Sets the compiler command-line option --enum_is_int.
Plain Char is Signed
Instructs the Compiler to treat all variables
declared with plain char as signed char variables.
Sets the compiler command-line option --signed_chars.
Read-Only Position Independent
Generate position independent code for const (ROM)
accesses. Sets the compiler command-line option --apcs=/ropi.
Read-Write Position Independent
Generate position independent code for variable
(RAM) accesses. Sets the compiler command-line option --apcs=/rwpi.
Warnings
Control generation of warning messages. Default is
unspecified, which defaults to All Warnings. The
selection No Warnings sets the command-line option -W.
Thumb Mode
Select explicitly Thumb or ARM code for a file or
file group. Note: in the dialog Target the selection of the
field Code Generation sets the default.
No Auto Includes
Suppress all C/C++ paths that are included
automatically during compilation. System includes, such as
stdio.h, are not affected by the settings of this box.
Compiler auto-include paths can be viewed in the field Compiler
control string.
Include Paths
Allows you to supply one or more (separated by
semi-colon) paths to search for header files. For example, for
#include "filename.h" the Compiler searches the current
folder first and then the folder of the source file. When this
fails or when #include <filename.h> is used, the paths
specified in the include paths box are searched. When this search
fails again, then the paths specified in the field INC under
Project — Components, Environment,
Books ... are used.
Misc Controls
Specify any directive for which there is no
individual dialog control.
Compiler control string
Displays the current directives at the Compiler
command line.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.