Keil Logo

Technical Support

On-Line Manuals

µVision User's Guide

About µVision User Interface Creating Applications Debugging Start Debugging Start Energy Measurement without Debug Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Component Viewer Disassembly Window Editor Window Event Recorder Setup Event Recorder Event Recorder Window Events Filtering Event Statistics Window Post-mortem Analysis Event Viewer Execution Profiler Instruction Trace Window System Analyzer Usage tips Statistics Restrictions Logic Analyzer Setup Setup in Detail Restrictions Cortex-M Trace Configuration Memory Map Memory Window Performance Analyzer Registers Window Serial Window Debug (printf) Viewer Symbols Window System Viewer Adding System Viewer Windows System and Thread Viewer Thread States Toolbox Trace Data Window Trace Navigation Trace Exceptions Event Counters ULINKplus Window Watch Window Core Peripherals Cortex-M0 and Cortex-M0+ Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports (Cortex-M0+ only) Cortex-M3, Cortex-M4, and Cortex-M7 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Cortex-M23 and Cortex-M33 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Security Attribution Unit Debug Scripting Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Memory Attribution Specifiers Operators Differences between µVision and C Expression Examples Code and Data Trace (Cortex-M) Trace Features Configuring Trace Tracepoint Expressions Tracepoint Intrinsics Tracepoint Limitations Tracepoint Marks Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Prevent Opening Files Show Japanese Messages Debug Commands Debug Functions Simulation Flash Programming Dialogs Utilities Command Line Example Programs Appendix

System Variables

System variables allow accessing specific functions and can be used anywhere program variables or expressions can be used. The system variables are listed in the table below.

System Variable Type Description
$ unsigned long Represents the program counter. Use the $-sign to display and change the program counter. For example, $ = 0x4000 sets the program counter to the address 0x4000.
_break_ unsigned int Halts program execution when set to a non-zero value. Use this variable in debug functions to halt program execution.
states unsigned long Displays the CPU instruction state counter value (32 bit). It starts counting from 0 and increments with each executed instruction.
states64 unsigned long long Displays the CPU instruction state counter value (64 bit). It starts counting from 0 and increments with each executed instruction.
seconds double Displays execution time in seconds. This variable is available for some devices.
itrace unsigned int Indicates whether trace recording is performed. When itrace is 0, no trace recording is performed. When itrace has a non-zero value, trace information is recorded. Refer to Instruction Trace Window.
radix unsigned int Displays and sets the output base for numeric values. radix can be 10 or 16. The default setting is 16 for HEX output. Change the output base by entering radix=10 in the Command window or by using the context menu entry in the editor when in debug mode (see below).

Changing the radix using the editor in debug mode

When in debug mode, a tooltip shows the value of a variable:

Tooltip with default radix

Use the editor's context menu to change the radix to 10:

Tooltip with default radix

The new radix is used in the tooltip:

Tooltip with default radix

Related Knowledgebase Articles

  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.