Difference between revisions of "Embedded Studio Code Options"
AlexanderZ (talk | contribs) m (→Build) |
AlexanderZ (talk | contribs) m (→Code Generation) |
||
Line 116: | Line 116: | ||
== Code Generation == |
== Code Generation == |
||
− | ''description...'' |
||
{| class="wikitable" |
{| class="wikitable" |
Revision as of 17:18, 14 August 2019
The Code Options configure the build system, the toolchain (compiler, assembler, linker), the preprocessor, library configuration, and user build steps.
Contents
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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
description...
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. |