Keil Logo

Target (Arm Compiler)

The window Options for Target - Target allows you to configure the device and to set application-specific options. The fields and options displayed in the dialog depend on the device selected. Not all features described below might be available for your device.

Device Name
The device name is displayed as text in the top left corner.
Xtal (MHz)
Specifies the XTAL frequency of your device. XTAL is used to configure the debugger and Flash programmer. Note that XTAL reflects the main oscillator externally connected to the device.
Operating System
Select the RTX Kernel which adds the correct RTX library and enables kernel aware debugging. Not required for Keil RTX5.
System Viewer File
Specifies the file for debugging peripheral registers with the System Viewer. Using software packs, this is already pre-filled.
Use Custom File
Enable the checkbox to use a customized SVD file. For details refer to Adding System Viewer Windows.
Code Generation
ARM Compiler allows you to select the Arm compiler version for the target. The drop-down entry:
  • Use default compiler version: is the default setting for new projects and uses the compiler defined with the dialog Setup Default Arm Compiler Version.
  • list of compiler version: list of all Arm compiler versions registered with the dialog Manage Arm Compiler Versions.
  • Missing: compiler version identifies Arm compiler versions that could not be found. The Build Output window also informs about the attempt to compile a target using a missing compiler version. Select another compiler version for the target, or redefine a default compiler with Setup Default Arm Compiler Version, or remove the compiler version with Manage Arm Compiler Versions.
Select ARM-Mode or Thumb-Mode for the application (displayed only for ARM7/ARM9).
Use Cross-Module Optimization enables the linker feedback file that allows further code optimizations.
  • Cross-Module Optimization is not performed for library targets.
  • Cross-Module Optimization will increase the time required to build the project, because multiple compile and link steps are automatically performed to produce the final output image.

Use MicroLIB to change the C run-time library set for smallest code application code. MicroLIB is not fully ANSI compatible but sufficient for most small embedded applications.

Use Link-Time Code Generation (for µVision versions prior to 5.00) enables multi-file compilation that performs additional code optimizations, as:

  • function in-lining across modules.
  • removing variables and functions that are not referenced.
  • optimizing memory access by re-arranging variables.
  • re-using memory pools where possible.

Big Endian defines the method of accessing multi-byte data.

Floating Point Hardware (only for devices integrated FPU) tells the compiler whether floating point operations should be handled via emulating floating point operations, or whether the floating point hardware instructions of the process should be used instead (which will make the execution faster). If the hardware offers only single precision floating point operations, then only double precision operation need emulation. If the hardware supports double precision, then the double precision instructions can be generated and executed by the processor giving you the performance benefit for double precision computation. Refer to Floating-point support for details.

The options listed in the tables below depend on the device in use and are shown for devices with an implemented FPU.

Floating Point Hardware options for Cortex-M7 with single precision FPU:
Options Description
Not Used Code generated does not use any VFP instructions.
Use Single Precision (default) Code generated uses VFP single precision instructions.
Floating Point Hardware options for Cortex-M7 with double precision FPU:
Options Description
Not Used Code generated does not use any VFP instructions.
Use Single Precision Code generated uses VFP single precision instructions.
Use Double Precision (default) Code generated uses VFP double precision instructions.
Floating Point Hardware options for Cortex-M4 with FPU:
Options Description
Not Used Code generated does not use any VFP instructions.
Use Single Precision (default) Code generated uses VFP single precision instructions.
Floating Point Hardware options for Arm9 with FPU:
Options Description
Not Used Code generated does not use any VFP instructions (Compiler switch: none, Assembler switch: none)
Library calls Compiler generates library calls that use VFP instructions (generates typically the smallest code and should be used when Thumb mode is selected) (Compiler switch: --fpu=softvfp+vfpv2, Assembler switch: --fpu=vfpv2)
In-line (strict ANSI) (default) Compiler mostly uses the VFP unit with in-line code (generates fast code that conforms to the ANSI standard). (Compiler switch: --fpu=vfpu2, Assembler switch: --fpu=vfpv2)
In-line (fast) Compiler uses for all VFP instructions in-line code (error checking does not always conform to the ANSI standard). (Compiler switch: --fpu=vfpv2 --fpmode=fast, Assembler switch: --fpu=vfpv2)
Read/Only Memory Areas
Specify the RO areas (typically located in ROM space). The default check box before each entry enables the area globally for the application. Individual modules may be assigned in the Properties dialog to specific areas. Startup selects the area used for the Startup code.
Read/Write Memory Areas
Specify the ZI and RW areas (typically located in RAM space). The default check box before each entry enables the area globally for the application. Individual modules may be assigned in the Properties dialog to specific areas. Noinit selects areas that should be excluded from zero initialization.

Note

  • The Memory Areas settings can be used to create a linker scatter file. This requires enabling Use Memory Layout from Target Dialog in the dialog Options for Target - Linker.
  • The options described above depend on the device in use and might not be visible or enabled for each device.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.