Keil Logo Arm Logo

µVision4 User's Guide

Target (MDK-ARM)

The window Options for Target - Target allows configuring the device and application for using an operating system, set the code generation options, and specifying the memory areas of the device.

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.
System-Viewer File (.Sfr):
Specifies the file for debugging peripheral registers with the System Viewer. For details refer to Adding System Viewer Windows.
Code Generation
Select ARM-Mode or Thumb-Mode for the application.
Use Cross-Module Optimization enables the linker feedback file that allows further code optimizations.
Select usage for the Floating Point Hardware on devices that have a Vector Floating Point (VFP) co-processor:
  • 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): 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)

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 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.

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.

Keil logo

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.