These properties are applicable to C and assembly code source files that are in a Executable, Library or Object File project type.

Assembler and Compiler Options

Property Name Type Save Name Description
Additional Assembler Options String List asm_additional_options Additional command line options to be supplied to the assembler.
Additional Compiler Options String List c_additional_options Additional command line options to be supplied to the C/C++ compiler.
ARM Architecture Enumeration arm_architecture Specifies the version of the ARM or Thumb instruction set to generate code for. The options are v4T, v5TE and v7M. Use v4T for ARM7TDMI, ARM720T and ARM920T based processors. Use v5TE for XScale and ARM9E based processors. Use v7M for Cortex-M3 based processors.
ARM Core Type Enumeration arm_core_type Specifies the version of the ARM processor core to generate code for. The options are ARM7TDMI, ARM7TDMI-S, ARM720T, ARM920T, ARM926EJ-S, Cortex-M3 and XScale. This option is currently not used for code generation.
ARM FP ABI Type Enumeration arm_fp_abi Specifies the FP ABI type to generate code for. The options are Soft and SoftFP. The Soft option will generate calls to the CrossWorks C library to implement floating point operations. The SoftFP option will generate code to implement floating point operations.
ARM FPU Type Enumeration arm_fpu_type Specifies the FPU type to generate code for. The options are VFP9 and None.
ARM/Thumb interworking Boolean arm_interwork Specifies that the ARM code generated can be called either from ARM or Thumb code. Setting this property to "No" may result in smaller code sizes when compiling for architecture v4T.
Byte Order Enumeration arm_endian Specifies the endianness to build for. The options are Little and Big. Note that the value of this property at project level will be used to automatically set the Endian target property when a project is downloaded or attached to.
Enable Exception Support Boolean cpp_enable_exceptions If "Yes" c++ code can use exceptions.
Enable RTTI Support Boolean cpp_enable_rtti If "Yes" c++ code can use run-time type information.
Enforce ANSI Checking Boolean c_enforce_ansi_checking Enable additional checking to ensure C programs conform to the ISO C99 standard and C++ programs conform to the 1998 ISO C++ standard.
Generate Static call_via_rX Boolean arm_module_call_vias Works around a problem in the C/C++ compiler of the GCC when using long calls from Thumb code.
Instruction Set Enumeration arm_instruction_set Specifies the instruction set the compiler should generate code for. The options are ARM or Thumb.
Keep Assembly Boolean arm_keep_assembly When set the assembly code generated by the C/C++ compiler of the GCC are kept.
Long Calls Boolean arm_long_calls Specifies whether function calls are made using 32-bit absolute addresses. Set this if you get relocation errors from the linker.
Object File Name String build_object_file_name Specifies the name of the object file produced by the compiler/assembler. This property will have macro expansion applied to it.
Omit Frame Pointer Boolean gcc_omit_frame_pointer If "Yes" generated code will not maintain a frame pointer.
Optimization Level Enumeration gcc_optimization_level Specifies the optimization level to use for compliation. The options are None, Level x and Optimize For Size. Use None when developing and debugging code. Use Level 1 for release builds.

Preprocessor Options

Property Type Save Name Description
Ignore Includes Boolean c_ignore_includes If set to Yes, the System Include Directories and User Include Directories properties are ignored.
Preprocessor Definitions String List c_preprocessor_definitions Specifies one or more preprocessor definitions.
Preprocessor Undefinitions String List c_preprocessor_undefinitions Specifies one or more preprocessor undefinitions.
System Include Directories String List c_system_include_directories Specifies the system include path. This property will have macro expansion applied to it.
Undefine All Preprocessor Definitions Boolean c_undefine_all_preprocessor_definitions If set to Yes, no standard preprocessor definitions will be defined.
User Include Directories String List c_user_include_directories Specifies the user include path. This property will have macro expansion applied to it.

Section Options

Property Type Save Name Description
Code Section Name String default_code_section Specifies the default section name to use for the program code section.
Constant Section Name String default_const_section Specifies the default section name to use for the read-only constant section.
Data Section Name String default_data_section Specifies the default section name to use for the initialised, writable data section.
Vector Section Name String default_vector_section Specifies the default section name to use for the interrupt vector section.
Zeroed Section Name String default_zeroed_section Specifies the default section name to use for the zero-initialised, writable data section.