A.4.5. Register

This group enables you to define memory-mapped registers provided at the board or ASIC level. Each register is named and typed and can be subdivided into bit fields (any number of bits) which act as subregisters.

Register group settings

The Register group includes a base group called Default, but typically you create one or more named register groups. The group includes the following settings:


This group contains settings to define bit fields within the registers.


The base address of the register. If the register is mapped using a memory block, this is the offset from that register (see Base).


The length of the register. If Length is set by a register, this must be 0 or the amount to add to that register.


This specifies how to interpret Start. You can select the value from a context menu. This context menu contains the option Absolute, and is also populated with the names of any memory blocks that you have configure in the Memory_block group:

  • If you select Absolute, then Start is the absolute memory address of the register.

  • If you select the name of a memory block, then Start is an offset from the base address of that memory block.


The type of memory depends on the device type. The default is to map to data space. Otherwise, a memory space can be specified. Set to default for ARM architecture-based targets.


Specifies how to interpret the value contained in the register. The type names are as in the C language.


If set to True, the register is read-only and the debugger does not let you write to it. Otherwise, you can modify the value using the Registers view in the Code window and using CLI expressions.


If set to True, the register cannot be read. The debugger does not attempt to query the hardware for the current value when the Registers view is opened.


If set to True, the register value can change without the debugger explicitly modifying it. For example, a hardware timer continues to count even when the processor is halted.


The name of a Register_enum block that maps a register value to a textual string describing the value.


The name of the register as it appears in the Registers view. If no name is specified here, then the Register group name is displayed.

Register Bit_fields group settings

The Register Bit_fields group contains a Default group, but typically you create one or more named Bit_fields groups. The group contains the following settings:


Bit position from 0 (LSbit).


Size in bits.


Set to True if signed, otherwise set to False.


Enumeration name to show values in the Registers view, derived from the Register_enum group.


Set to True if read-only (cannot modify).


Indicates that the register has side effects when it is read or written. A common read side effect is loss of data (when pulled from a UART, for example). A common write side effect is for the device to take some action on write (triggering a DMA, for example). This information is used in the Registers view. Right-click to see available options.


Optional name for showing in Registers view. If no name is specified here, then the bit field group name is displayed.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0182N