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 Save System Analyzer Contents 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/M33/M35P and Cortex-M55 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Security Attribution Unit M-Profile Vector Extension (MVE) 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


The µVision debugger accepts constants of the following type: binary, decimal, HEX, octal, floating-point, character, and string.

Binary, Decimal, HEX, and Octal Constants

By default, numeric constants are of the type decimal. When entering 10, this is the decimal number ten and not the HEX value 10h. However, the value output in the Command window is steered by the system variable radix.

Use the prefixes or suffixes listed in the table to change the meaning of a numeric expression:

Base Prefix Suffix Example
Binary: None Y or y 11111111Y
Decimal: None T or none 1234T or 1234
Hexadecimal: 0x or 0X H or h 1234H or 0x1234
Octal: 0 (zero) Q, q, O, or o 0777 or 777q or 777Q or 777o

About numeric constants:

  • HEX constants must be prefixed with a leading zero when the first digit is an A-F and a HEX suffix is used. Do not combine the HEX suffix and prefix for one constant. Valid HEX expressions:
    0Ah, 1h,  1Ah
    0xA, 0x1, 0x1A
    Invalid expressions:
    Ah, 0x0Ah, 0x1h,  0x1Ah
  • A number exceeding the range of a 16-bit integer is converted automatically to a 32-bit integer.
  • Numeric constants are 16-bit values by default. They can be postfixed with an L to make them 32-bit wide. For example: 0x1234L, 1234L, 1255HL.
  • Numbers can be grouped with the dollar sign character ("$") (ease reading). For example, 1111$1111y is the same as 11111111y.

Floating-Point Constants

Floating-point numbers must have a digit before the decimal point. Thus, .12 is not allowed, but 0.12 must be entered. Floating-point constants can have the following formats:

  • number.number
  • number[e[+|-]number]
  • number.number[e[+|-]number]

Valid floating-point constants:

4.12, 0.1e3, 12.12e–5

Character Constants

The C programming language rules for character constants apply to the µVision debugger.

Valid character constants:

'a', '1', '\n', '\v', '\x0FE', '\015'

Escape-sequences are also supported:

Sequence Description
\\ Backslash character ( \ ).
\" Double quote.
\' Single quote.
\a Alert, bell.
\b Backspace.
\f Form feed.
\n Newline.
\r Carriage return.
\t Tab.
\0nn Octal constant.
\Xnnn HEX constant.

String Constants

The C programming language rules for string constants also apply to the µVision debugger. However, contrary to the C-language, successive strings are not concatenated into a single string. For example, "string1"+"string2" is not combined into a single string.

Valid string constants:

"value of %s = %04XH\n"

Escape double quotes within nested strings:

"printf (\"hello world!\n\")"

Using Memory Attribution Specifiers

Use Memory Attribution Specifiers to set the debug context to secure or non-secure.

Accessing non-secure memory

Using different specifiers for example in the Memory Window, you can access non-secure memory:

Accessing non-secure memory

In all three cases you are able to see the content of the non-secure memory. This changes when you access secure memory.

Accessing secure memory

Using different specifiers for example in the Memory Window, access to secure memory may not be possible:

Accessing non-secure memory

When trying to access secure memory using the non-secure specifier (NS:0x00000200), access is denied.

  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.