You copied the Doc URL to your clipboard.

ARM DS-5 Debugger User Guide : About OS awareness

About OS awareness

DS-5 provides support for a number of operating systems that can run on the target. This is called OS awareness and it provides a representation of the operating system threads and other relevant data structures.

The OS awareness support in DS-5 Debugger depends on the OS version and the processor architecture on the target.

DS-5 Debugger provides OS awareness for:

  • ThreadX 5.6, 5.7: ARMv5, ARMv5T, ARMv5TE, ARMv5TEJ, ARMv6M, ARMv7M, ARMv7R, ARMv7A, ARMv8A

  • μC/OS-II 2.92: ARMv6M, ARMv7M, ARMv7R, ARMv7A

  • μC/OS-III 3.04: ARMv6M, ARMv7M, ARMv7R, ARMv7A

  • embOS 3.88: ARMv5, ARMv5T, ARMv5TE, ARMv5TEJ, ARMv6M, ARMv7M, ARMv7R, ARMv7A

  • Keil CMSIS-RTOS RTX 4.7: Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, and Cortex-A9 processors

  • FreeRTOS 8.0: ARMv6M, ARMv7M, ARMv7R, ARMv7A

  • Freescale MQX 4.0: Freescale-based Cortex-M4 and Cortex-A5 processors

  • Quadros RTXC 1.0.2: ARMv5, ARMv5T, ARMv5TE, ARMv5TEJ, ARMv7M, ARMv7R, ARMv7A

  • Nucleus RTOS 2014.06: ARMv5, ARMv5T, ARMv5TE, ARMv5TEJ, ARMv6M, ARMv7M, ARMv7R, ARMv7A

  • μC3 Standard: ARMv7R, ARMv7A

  • μC3 Compact: ARMv6M, ARMv7M

  • PikeOS 4.1, 4.2: ARMv7A, ARMv8A


  • By default, OS awareness is not present for an architecture or processor that is not listed above.

  • OS awareness support for newer versions of the OS depends on the scope of changes to their internal data structures.

  • OS awareness in DS-5 Debugger does not support the original non-CMSIS Keil RTX.

  • OS awareness for μC3 Standard requires you to set the vfp-flag parameter based on the --fpu option that the μC3 Standard kernel was compiled with. You can set this using the OS Awareness tab in the Debug Configurations dialog box, or using the command set os vfp-flag. You can set the value to disabled, vfpv3_16, or vfpv3_32.

The Linux kernels that DS-5 Debugger provides OS awareness for are:

  • Linux 2.6.28, ARMv7A

  • Linux 2.6.38: ARMv7A

  • Linux 3.0: ARMv7A

  • Linux 3.11.0-rc6: ARMv7A

  • Linux 3.13.0-rc3: ARMv7A

  • Linux 3.6.0-rc6: ARMv7A

  • Linux 3.7.0: ARMv7A

  • Linux 3.9.0-rc3: ARMv7A

  • Linux 3.11.0-rc6: ARMv8A


Later versions of Linux are expected to work on ARMv7A and ARMv8A architectures.

This section contains the following subsections: