Difference between revisions of "Embedded Studio Code Options"

From SEGGER Wiki
Jump to: navigation, search
(Created page with "The Embedded Studio Code Options configure how the project should be == Assembler == ''description...'' {| class="wikitable" |- ! Options ! Values ! Description |- | Ad...")
 
m
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
The Embedded Studio Code Options configure how the project should be
+
The Code Options configure the build system, the toolchain (compiler, assembler, linker), the preprocessor, library configuration, and user build steps.
  
 
== Assembler ==
 
== Assembler ==
''description...''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 24: Line 23:
  
 
== Build ==
 
== Build ==
''description...''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 118: Line 116:
  
 
== Code Generation ==
 
== Code Generation ==
''description...''
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 224: Line 221:
  
 
== Compiler ==
 
== Compiler ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 318: Line 315:
  
 
== External Build ==
 
== External Build ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 348: Line 345:
  
 
== File ==
 
== File ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 366: Line 363:
  
 
== Library ==
 
== Library ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 392: Line 389:
  
 
== Linker ==
 
== Linker ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 506: Line 503:
  
 
== Preprocessor ==
 
== Preprocessor ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 540: Line 537:
  
 
== Printf/Scanf ==
 
== Printf/Scanf ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 578: Line 575:
  
 
== Runtime Memory Area ==
 
== Runtime Memory Area ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 600: Line 597:
  
 
== Section ==
 
== Section ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 634: Line 631:
  
 
== Source Code ==
 
== Source Code ==
''description...''
+
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 652: Line 649:
  
 
== User Build Step ==
 
== User Build Step ==
''description...''
 
  
 
{| class="wikitable"
 
{| class="wikitable"

Latest revision as of 16:19, 14 August 2019

The Code Options configure the build system, the toolchain (compiler, assembler, linker), the preprocessor, library configuration, and user build steps.

Assembler

Options Values Description
Additional Assembler Options string Enables additional options to be supplied to the assembler. This property will have macro expansion applied to it.
Additional Assembler Options From File string Select the used embOS library configuration.
Assembler string, select from several options Specifies which assembler to use.

Build

Options Values Description
Always Rebuild Yes, No Specifies whether or not to always rebuild the project/folder/file.
Batch Build Configurations string The set of configurations to batch build.
Build Quietly Yes, No Suppress the display of startup banners and information messages.
Dependency File Name filepath The file name to contain the dependencies.
Enable Unused Symbol Removal Yes, No Enable the removal of unused symbols from the executable.
Exclude From Build Yes, No Specifies whether or not to exclude the project/folder/file from the build.
Include Debug Information Yes, No Specifies whether symbolic debug information is generated.
Intermediate Directory directorypath Specifies a relative path to the intermediate file directory. This property will have macro expansion applied to it. The macro $(IntDir) is set to this value.
Memory Map File filepath The name of the file containing the memory map description.
Memory Map Macros string Macro values to substitue in memory map nodes. Each macro is defined as name=value and are seperated by ';'.
Memory Segments string The start, access and size of named segments in the target, these are used when no memory map file is available.
Output Directory directorypath Specifies a relative path to the output file directory. This property will have macro expansion applied to it. The macro $(OutDir) is set to this value. The macro $(RootRelativeOutDir) is set relative to the Root Output Directory if specified.
Project Can Build In Parallel Yes, No, Default Specifies that dependent projects can be built in parallel. Default is No for Staging and Combining project types, Yes for all other project types.
Project Dependencies string Specifies the projects the current project depends upon.
Project Directory string Path of the project directory relative to the directory containing the project file. The macro $(ProjectDir) is set to the absolute path of this property.
Project Macros string Specifies macro values which are expanded in project properties and for file names in Common configuration only. Each macro is defined as name=value and are seperated by ;.
Project Type string, select from several options Specifies the type of project to build.
Property Groups File string The file containing the property groups for this project. This is applicable to Executable and Externally Built Executable project types only.
Suppress Warnings Yes, No Don't report warnings.
Tool Chain Directory directorypath Specify the root of the toolchain directory. This property will have macro expansion applied to it. The macro $(ToolChainDir) is set to this value.
Treat Warnings as Errors Yes, No Treat all warnings as errors.

Code Generation

Options Values Description
ARM Architecture string, select from severals options Specifies the version of the instruction set to generate code for.
ARM Core Type string, select from severals options Specifies the core to generate code for.
ARM FP ABI Type string, select from severals options Specifies the FP ABI type to generate code for.
ARM FPU Type string, select from severals options Specifies the FPU type to generate code for.
Byte Order string, select from severals options Specifies the byte order of the target processor.
Debugging Level string, select from severals options Specifies the level of debugging information to generate.
Dwarf Version string, select from severals options Specifies the version of Dwarf debugging information to generate.
Emit Assembler CFI Yes, No Emit DWARF 2 unwind info using GAS .cfi_* directives rather than a compiler generated .eh_frame section.
Enable Exception Support Yes, No Specifies whether exception support is enabled for C++ programs.
Enable RTTI Support Yes, No Specifies whether RTTI support is enabled for C++ programs.
Enumeration Size string, select from severals options Select between minimal container sized enumerations and int sized enumerations.
Instrument Functions Yes, No Specifies whether instrumentation calls are generated for function entry and exit.
Keep Link Time Optimization Intermediate Files Yes, No Specifies whether to keep the link time optimization resolution and object files.
Link Time Optimization Yes, No Specifies whether to keep the link time optimization resolution and object files.
Long Calls Yes, No Specifies whether function calls are made using absolute addresses.
Math Errno Yes, No Set errno after calling math functions that are executed with a single instruction, e.g., sqrt.
Merge Globals [clang] Yes, No Select whether global declarations are merged. This may reduce code size and increase execution speed for some applications.
No COMMON Yes, No Don't put globals in the common section
Omit Frame Pointer Yes, No Specifies whether a frame pointer register is omitted if not required.
Optimization Level string, select from severals options Specifies the optimization level to use.
Unaligned Access Support Yes, No, Auto Unaligned word and half-words can be accessed.
Unwind Tables Yes, No Generate unwind tables for C code.
Use Builtins Yes, No Use built-in library functions e.g. scanf.
Wide Character Size 16-Bit, 32-Bit Select between standard 32-bit or shorter 16-bit size for wide characters and wchar_t.

Compiler

Options Values Description
Additional C Compiler Only Options string Enables additional options to be supplied to the C compiler only. This property will have macro expansion applied to it.
Additional C Compiler Only Options From File string Enables additional options to be supplied to the C compiler only from a file. This property will have macro expansion applied to it.
Additional C/C++ Compiler Options string Enables additional options to be supplied to the C/C++ compiler. This property will have macro expansion applied to it.
Additional C/C++ Compiler Options From File string Enables additional options to be supplied to the C/C++ compiler from a file. This property will have macro expansion applied to it.
Additional C++ Compiler Only Options string Enables additional options to be supplied to the C++ compiler only. This property will have macro expansion applied to it.
Additional C++ Compiler Only Options From File string Enables additional options to be supplied to the C++ compiler only from a file. This property will have macro expansion applied to it.
C Language Standard string, select from several options Specifies the language standard to use when compiling C files.
C++ Language Standard string, select from several options Specifies the language standard to use when compiling C++ files.
Compiler string, select from several options Specifies which compiler to use.
Enable All Warnings Yes, No Enables all the warnings about constructions that some users consider questionable, and that are easy to avoid (or modify to prevent the warning), even in conjunction with macros.
Enable All Warnings C Compiler Only Command Line Options string The command line options supplied to the C compiler when Enable All Warnings is enabled.
Enable All Warnings C++ Compiler Only Command Line Options string The command line options supplied to the C++ compiler when Enable All Warnings is enabled.
Enable All Warnings Command Line Options string The command line options supplied to the compiler when Enable All Warnings is enabled.
Enforce ANSI Checking Yes, No Perform additional checks for ensure strict conformance to the selected ISO (ANSI) C or C++ standard.
Enforce ANSI Checking C Command Line Options string The command line options supplied to the C compiler when Enforce ANSI Checking is enabled.
Enforce ANSI Checking C++ Command Line Options string The command line options supplied to the C++ compiler when Enforce ANSI Checking is enabled.
Enforce ANSI Checking Command Line Options string The command line options supplied to the compiler when Enforce ANSI Checking is enabled.
Keep Assembly Source Yes, No Specifies whether assembly code generated by the compiler is kept.
Keep Preprocessor Output Yes, No Specifies whether preprocessor output generated by the compiler is kept.
Object File Name string Specifies a name to override the default object file name.
Supply Absolute File Path Yes, No Specifies whether absolute file paths are supplied to the compiler.

External Build

Options Values Description
Assemble Command string The command line to assemble an assembly source file.
C Compile Command string The command line to compile a C source file.
C++ Compile Command string The command line to compile a C++ source file.
Link Command string The command line to link an executable.
Objects File string The name of the file containing the list of files to archive or link, generated from the source files of the project.This property will have macro expansion applied to it. The macro $(ObjectsFilePath) is set to this value.

File

Options Values Description
Add emModbus library string, select from possible encoding. Specifies the encoding to use when reading and writing the file.
Full Project Directory string, automatically set. Specifies a full path to the project directory.

Library

Options Values Description
Include Standard Libraries Yes, No Specifies whether the standard libraries should be linked into your application.
Library ARM Architecture string, select from several options Specifies the architecture variant of the library to link with. The default uses the ARM Architecture value
Library Optimization string, select from several options Specifies whether to link with libraries optimized for speed or size.
Standard Libraries Directory string, select from several options Specifies where to find the standard libraries

Linker

Options Values Description
Executable File Name string Specifies a name to override the default executable file name.
Additional Input Files string, select from several options Enables additional object and library files to be supplied to the linker.
Link Dependent Projects Yes, No Specifies whether to link the output of dependent library projects.
Use Manual Linker Script Yes, No Specifies whether to use a manual linker script.
Section Placement File filepath The name of the file containing section placement description.
Section Placement Macros string Macro values to substitue in section placement nodes - MACRO1=value1;MACRO2=value2.
Default Fill Pattern string Specifies the default pattern used to fill unspecified regions of memory in a generated linker script. This pattern maybe overidden by the fill attribute of a program section in the section placement file.
DebugIO Implementation string, select from several options Specifies which DebugIO mechanism to link in. Options are Breakpoint (hardware breakpoint instruction and memory locations are used, not available on v4t architecture), DCC (ARM debug communication channel is used), and Memory Poll (memory locations are polled).
Additional Output Format string, select from several options The format used when creating an additional linked output file.
Generate Map File Yes, No Specifies whether to generate a linkage map file.
Entry Point string Specifies the entry point of the program.
Linker Symbol Definitions string Specifies one or more linker symbol definitions.
Keep Symbols string Specifies the symbols that should be kept by the linker even if they are not reachable.
Strip Debug Information Yes, No Specifies whether debug information should be stripped from the linked image.
Strip Symbolst Yes, No Specifies whether symbols should be stripped.
Allow Multiple Symbol Definition Yes, No Do not report error if the same symbol is defined more than once in object files/libraries.
No Enum Size Warning Yes, No Do not generate warnings when object files have different EABI enum size attributes.
No Wide Char Size Warning Yes, No Do not generate warnings when object files have different wide character size attributes.
Suppress Warning on Mismatch Yes, No No warning on mismatched object files/libraries.
Treat Linker Warnings as Errors Yes, No Treat linker warnings as errors.
Additional Linker Options string Enables additional options to be supplied to the linker.
Additional Linker Options From File string Enables additional options to be supplied to the linker from a file.
Linker string, select from several options Specifies which linker to use.
Additional Linker Script Generator Options string Enables additional options to be supplied to the linker script generator.
Check For Memory Segment Overflow Yes, No Specifies whether the linker should check whether program sections fit in their memory segments.
Symbols File string Specify the name of a symbols file to link.

Preprocessor

Options Values Description
Ignore Includes Yes, No Ignore the include directories properties.
Preprocessor Definitions string Specifies one or more preprocessor definitions. This property will have macro expansion applied to it.
Preprocessor Undefinitions string Specifies one or more preprocessor undefinitions. This property will have macro expansion applied to it.
System Include Directories string Specifies the system include path. This property will have macro expansion applied to it.
Undefine All Preprocessor Definitions Yes, No Does not define any standard preprocessor definitions.
User Include Directories string Specifies the user include path. This property will have macro expansion applied to it.

Printf/Scanf

Options Values Description
Printf Floating Point Supported string, select from several options Are floating point numbers supported by the printf function group.
Printf Integer Support string, select from several options The largest integer type supported by the printf function group.
Printf Width/Precision Supported Yes, No Enables support for width and precision specification in the printf function group.
Scanf Classes Supported Yes, No Enables support for %[...] and %[^...] character class matching in the scanf functions.
Scanf Floating Point Supported Yes, No Are floating point numbers supported by the scanf function group.
Scanf Integer Support string, select from several options The largest integer type supported by the scanf function group.
Wide Characters Supported Yes, No Are wide characters supported by the printf function group.

Runtime Memory Area

Options Values Description
Heap Size number The size of the heap in bytes. The preprocessor define __HEAP_SIZE__ is set to this value.
Main Stack Size number The size of the main stack in bytes.
Process Stack Size number The size of the process stack in bytes.

Section

Options Values Description
Code Section Name string Specifies the default name to use for the program code section.
Constant Section Name string Specifies the default name to use for the read-only constant section.
Data Section Name string Specifies the default name to use for the initialized, writable data section.
ISR Section Name string Specifies the default name to use for the ISR code.
Vector Section Name string Specifies the default name to use for the interrupt vector section.
Zeroed Section Name string Specifies the default name to use for the zero-initialized, writable data section.

Source Code

Options Values Description
Additional Code Completion Compiler Options string Additional source indexing and code completion compiler options.
Inhibit Source Indexing Yes, No Disable source indexing and code completion for files/folders/projects that would normally be indexed (C/C++ files in executable and library projects).

User Build Step

Options Values Description
Link Patch Command string A command to run after the link but prior to additional binary file generation. This property will have macro expansion applied to it with the additional $(TargetPath) macro set to the output filepath of the linker command.
Link Patch Working Directory directorypath The working directory where the link patch command is run. This property will have macro expansion applied to it.
Post-Build Command string The command to execute after a project build. This property will have macro expansion applied to it.
Post-Build Command Control string, select from several options Controls when the post-build command is run, either Always Run or when Run When Build Has Occurred.
Post-Build Command Working Directory directorypath The working directory in which the post-build command is run. This property will have macro expansion applied to it.
Post-Compile Command string A command to run after the compile command has completed. This property will have macro expansion applied to it with the additional $(TargetPath) macro set to the output filepath of the compiler command.
Post-Compile Working Directory directorypath The working directory where the post-compile command is run. This property will have macro expansion applied to it.
Post-Link Command string A command to run after the link command has completed.This property will have macro expansion applied to it with the additional $(TargetPath) macro set to the output filepath of the linker command and $(PostLinkOutputFilePath) set to the value of the output filepath of the post link command.
Post-Link Output File string The name of the file created by the post-link command. This property will have macro expansion applied to it.
Post-Link Working Directory directorypath The working directory where the post-link command is run. This property will have macro expansion applied to it.
Pre-Build Command string The command to execute before a project build. This property will have macro expansion applied to it.
Pre-Build Command Control string, select from several options Controls when the pre-build command is run, either Always Run or when Run When Build Required.
Pre-Build Command Working Directory directorypath The working directory in which the pre-build command is run. This property will have macro expansion applied to it.
Pre-Compile Command string A command to run before the compile command. This property will have macro expansion applied to it.
Pre-Compile Command Output File Path filepath The pre-compile generated file name. This property will have macro expansion applied to it.
Pre-Compile Working Directory directorypath The working directory where the pre-compile command is run. This property will have macro expansion applied to it.
Pre-Link Command string A command to run before the link command. This property will have macro expansion applied to it.
Pre-Link Working Directory directorypath The working directory where the pre-link command is run. This property will have macro expansion applied to it.