## Assembler and Compiler Properties

These properties are applicable to C and assembly code source files.

Property | Description
Additional Assembler Options | Additional command line options to be supplied to the assembler.
Additional Compiler Options | Additional command line options to be supplied to the compiler.
Enforce ANSI Checking | Enable additional checking to ensure programs conform to the ANSI-C99 standard.
Object File Name | Specifies the name of the object file produced by the compiler/assembler. This property will have macro expansion applied to it.
Treat 'double' as 'float' | The compiler should make double equivalent to float. This will reduce the code and data size of the application since double is a 64 bit number and float is a 32 bit number.
Use Hardware Multiplier | Specifies whether code is generated for a device with a hardware multiplier.

## External Build Properties

These properties are applicable to Externally Built Executable project types.

Property | Description
Build Command | The command line that will build the executable.
Clean Command | The command line that will clean the executable.
Executable File | The name of the externally built executable file. This property will have macro expansion applied to it.
Load Address | The address to load the file at. This is required if the load address isn't contained in the executable file - for example a binary file.
Load File Type | The type of the executable file. The default is to detect the file type based on the file extension.

## Folder Properties

These properties are applicable to project folders.

Property | Description
Filter | A list of file extensions that are matched when a file is added to the project.

## Build Properties

These properties are applicable to a range of project types.

Property | Description
Build Quietly | Suppress the display of the startup banners and information messages.
Exclude From Build | Specifies whether or not to exclude the project/file from the build.
File Type | Use this property to change the file type of the selected file. This can be used to be able to compile or assemble a file that has no recognised file type.
Include Debug Information | Specifies whether symbolic debug information is generated.
Macros | Defines macro values that are used for filename generation
Intermediate Directory | Specifies a relative path from the project directory to the intermediate file directory. This property will have macro expansion applied to it.
Optimize Output | Specifies whether the application should be optimized for size and speed.
Output Directory | Specifies a relative path from the project directory to the output file directory. This property will have macro expansion applied to it.
Project Directory | Specifies the project directory. This can be either relative to the solution directory (recommended) or can be an absolute directory.
Project Type | Specifies the type of project to build.
Suppress Warnings | Specifies whether the display of warning messages should be suppressed.
Target Processor | Select a set of target specific options based on the target processor.
Treat Warnings as Errors | Specifies whether warning messages should be treated as errors.

## Preprocessor Options

These properties are applicable to C and assembly code source files.

Property | Description
Ignore Includes | If set to Yes, the System Include Directories and User Include Directories properties are ignored.
Preprocessor Definitions | Specifies one or more preprocessor definitions.
Preprocessor Undefinitions | Specifies one or more preprocessor undefinitions.
System Include Directories | Specifies the system include path. This property will have macro expansion applied to it.
Undefine All Preprocessor Definitions | If set to Yes, no standard preprocessor definitions will be defined.
User Include Directories | Specifies the user include path. This property will have macro expansion applied to it.

## Section Properties

These properties are applicable to C and assembly code source files.

Property | Description
Code Section Name | Specifies the default section name to use for the program code section.
Constant Section Name | Specifies the default section name to use for the read-only constant section.
Data Section Name | Specifies the default section name to use for the initialised, writable data section.
Vector Section Name | Specifies the default section name to use for the interrupt vector section.
Zeroed Section Name | Specifies the default section name to use for the zero-initialised, writable data section.

## Input/Output Properties

These properties define what the printf/scanf support is to be used.

Property | Description
Floating Point I/O Supported | Specifies whether the version of the printf and scanf functions that support floating point numbers should be linked into the application.
Integer I/O Support | Specifies the largest integer type supported by the printf and scanf function group.
Scanf Classes Supported | Enables support for %[...] and %[^...] character class matching in the scanf functions.

## Staging Properties

These properties are applicable to Staging project types.

Property | Description
Output File Path | Specifies the name the file will be copied to. This property will have macro expansion applied to it.
Set Readonly | Specifies that the output file will have it's permissions set to readonly.
Stage Command | Specifies the command be used to do the staging operation. This property will have macro expansion applied to it.

## Combining Properties

These properties are applicable to Combining project types.

Property | Description
Output File Path | Specifies the name the file will be copied to. This property will have macro expansion applied to it.
Set Readonly | Specifies that the output file will have it's permissions set to readonly.
Combine Command | Specifies the command be used to do the combining operation. This property will have macro expansion applied to it.

## Library Properties

These properties are applicable to Library project types.

Property | Description
Library File Name | Specifies the name of the output file produced by the librarian. This property will have macro expansion applied to it.

## Linker Properties

These properties are applicable to Executable project types.

Property | Description
Additional Input Files | Additional object and library files to be supplied to the linker. This property will have macro expansion applied to it.
Additional Linker Options | Additional command line options to be supplied to the linker.
Additional Output Format | Specifies an additional file format to be generated by the linker. For example an s-record output may be generated as well as the .hzx file.
Check For Memory Segment Overflow | Specifies that the linker should check whether program sections fit into the memory segments they have been placed in.
Checksum Algorithm | Specifies the algorithm used to generate checksums on sections.
Checksum Sections | The list of sections to generate a checksum on.
Entry Point | Specifies the entry point of the program. This may be a symbol or an absolute address.
Executable File Name | Specifies the name of the output file produced by the linker.
Generate Map File | Specifies whether or not a linker map file is generated.
Heap Size | Specifies the heap size in bytes to be used by the application. You must define this if your program uses malloc.
Include Standard Libraries | Specifies whether the standard libraries should be linked into the application.
Include Startup Code | Specifies whether the standard C startup code is linked into the application.
Keep Symbols | Specifies a list of symbols that should always be included by the linker in the output file even if those symbols aren't directly used by the application.
Memory Map File | The name of the file containing the memory map description. This property will have macro expansion applied to it. Note that a memory map file in the project will be used in preference to this setting.
Post Build Command | Specifies a command to run after the link command has executed.
Section Placement File | The name of the file containing the section placement description. This property will have macro expansion applied to it. Note that a section placement file in the project will be used in preference to this setting.
Use Multi Threaded Libraries | Specifies that multi-threaded (re-entrant) versions of the libraries should be linked in.

## Target Properties

These properties are applicable to "executable" project types.

Property | Description
Attach Script | The script that is executed when the debugger attaches to the target.
Reset Script | The script that is executed when the target is reset. This script is typically responsible for resetting the target and configuring memory.
Run Script | The script that is executed when the target is released into run state. This script is typically responsible for re-enabling caches previously disabled by the stop script.
Stop Script | The script that is executed when the target enters debug state. This script is typically responsible for disabling or flushing caches.