11.15 Memory view

Use the Memory view to display and modify the contents of memory.

This view enables you to:

  • Specify the start address for the view, either as an absolute address or as an expression, for example $pc+256. You can also specify an address held in a register by dragging and dropping the register from the Registers view into the Memory view.
  • Specify the display size of the Memory view in bytes, as an offset value from the start address.
  • Specify the format of the memory cell values. The default is hexadecimal.
  • Set the width of the memory cells in the Memory view. The default is 4 bytes.
  • Display the ASCII character equivalent of the memory values.
  • Freeze the view to prevent it from being updated by a running target.
Figure 11-18 Memory view
Memory view


The Memory view only provides the facility to modify how memory is displayed in this view. It does not enable you to change the access width for the memory region. To control the memory access width, you can use:

  • The memory command to configure access widths for a region of memory, followed by the x command to read memory according to those access widths and display the contents.
  • The memory set command to write to memory with an explicit access width.

Toolbar and context menu options

The following options are available from the toolbar or context menu:

Linked: context
Links this view to the selected connection in the Debug Control view. This is the default. Alternatively you can link the view to a different connection. If the connection you want is not shown in the drop-down list you might have to select it first in the Debug Control view.
History History button
Addresses and expressions you specify in the Address field are added to the list, and persist until you clear the history list. If you want to keep an expression for later use, add it to the Expressions view.
Number of columns Number of columns button
The options enable you to resize the number of columns shown in the Memory view.
Fit to view - Select to resize the number of columns automatically.
2, 4, 8, 16 - Select the number of columns to display in the Memory view in a 2, 4, 8, or 16-column layout.
Custom - Select and specify the custom column layout you require.
To specify these values as default, set them under Window > Preferences > DS-5 > Debugger > Memory View.
Timed auto refresh Timed auto refresh is off button
Use the Timed Auto-Refresh option to specify an auto-refresh of the values in the view.
Start - Starts the timed auto-refresh.
Stop - Stops the timed auto-refresh.
Update Interval - Specifies the auto refresh interval in seconds.
Update When - Specifies when to refresh the view:
  • Running - Refreshes the view only while the target is running.
  • Stopped - Refreshes the view only while the target is stopped.
  • Always - Always refreshes the view.

    Note:

    When you select Running or Always, the Memory and Screen views are only updated if the target supports access to that memory when running. For example, some CoreSight™ targets support access to physical memory at any time through the Debug Access Port (DAP) to the Advanced High-performance Bus Access Port (AHB-AP) bridge. In those cases, add the AHB: prefix to the address selected in the Memory or Screen views. This type of access bypasses any cache on the processor core, so the memory content returned might be different to the value that the core reads.
Properties - Displays the Timed Auto-Refresh Properties dialog box where you can specify these options as default.
Format Format button

Click to cycle through the memory cell formats and cell widths, or select a format from the drop-down menu. The default is hexadecimal with a display width of 4 bytes.

Use the Hide Base Prefix option to hide base prefixes where applicable.

For example:
  • For hexadecimal values, this option hides the preceding 0x. So the value 0xEA000016 is shown as EA000016.
  • For binary values, this option hides the preceding 0b. So the value 0b00010110 is shown as 00010110.
  • For octal values, this option hides the preceding 0. So the value 035200000026 is shown as 35200000026.
Search Search button

Searches through debug information for symbols.

Address field

Enter the address where you want to start viewing the target memory. Alternatively, you can enter an expression that evaluates to an address.

Addresses and expressions you specify are added to the drop-down history list, and persist until you clear the view history. If you want to keep an expression for later use, add it to the Expressions view.

Size field

The number of bytes to display.

View Menu

The following View Menu options are available:

New Memory View

Displays a new instance of the Memory view.

Show Tooltips

Toggles the display of tooltips on memory cell values.

Auto Alignment
Aligns the memory view to the currently selected data width.
Show Compressed Addresses
Shows the least significant bytes of the address that are not repeating.
Show Cache

Shows how the core views the memory from the perspective of the different caches on the target. This is disabled by default. When showing cache, the view is auto-aligned to the cache-line size. When showing cache, the memory view shows a column for each cache. If populated, the cache columns display the state of each cache using the Modified/Owned/Exclusive/Shared/Invalid (MOESI) cache coherency protocol notation.

Click on a cache column header or select a cache from the Cache Data menu to display the data as viewed from that cache. The Memory (non-cached) option from the Cache Data menu shows the data in memory, as if all caches are disabled.

Figure 11-19 Memory view with Show Cache option enabled
Memory view with Show Cache option enabled


Note:

In multiprocessor systems, it is common to have caches dedicated to particular cores. For example, a dual-core system might have per-core L1 caches, but share a single L2 cache. Cache snooping is a hardware feature that allows per-core caches to be accessed from other cores. In such cases the Cache Data field shows all the caches that are accessible to each core, whether directly or through snooping.
Byte Order
Selects the byte order of the memory. The default is Auto (LE).
Clear History
Clears the list of addresses and expressions in the History drop-down list.
Import Memory
Reads data from a file and writes it to memory.
Export Memory
Reads data from memory and writes it to a file.
Fill Memory
Writes a specific pattern of bytes to memory
Update View When Hidden
Enables the updating of the view when it is hidden behind other views. By default, this view does not update when hidden.
Refresh
Refreshes the view.
Freeze Data
Toggles the freezing of data in the current view. This also disables or enables the Address and Size fields and the Refresh option.
Editing context menu options
The context menu of the column header enables you to toggle the display of the individual columns.
Reset Columns
Displays the default columns.
Characters
Displays the Characters column.

The following options are available on the context menu when you select a memory cell value, the Address field, or the Size field for editing:

Cut
Copies and deletes the selected value.
Copy
Copies the selected value.
Paste
Pastes a value that you have previously cut or copied into the selected memory cell or field.
Delete
Deletes the selected value.
Select All
Selects all the addresses.

The following additional options are available on the context menu when you select a memory cell value:

Toggle Watchpoint
Sets or removes a watchpoint at the selected address. After a watchpoint is set, you can:
  • Enable Watchpoint - If disabled, enables the watchpoint at the selected address.
  • Disable Watchpoint - Disables the watchpoint at the selected address.
  • Remove Watchpoint - Removes the watchpoint at the selected address.
  • Watchpoint Properties - Displays and lets you change the watchpoint properties.
Translate Address <address>
Displays the MMU view and translates the address of the selected value in memory.

Memory view default preferences

You can specify default preferences to apply to the Memory view. Specifying default options ensure that your preferences are applied across all debug connections.

To specify default options for the Memory view, set them under Window > Preferences > DS-5 > Debugger > Memory View.

Figure 11-20 Memory view preferences
Memory View preferences


Number of columns
The options enable you to resize the number of columns shown in the Memory view.
Fit to view - Select to resize the number of columns automatically.
2, 4, 8, 16 - Select the number of columns to display in the Memory view in a 2, 4, 8, or 16-column layout.
Custom - Select and specify the custom column layout you require.
Data format
Specify the format of the memory cell values. The default is hexadecimal.
Data size
Set the width of the memory cells in the Memory view. The default is 4 bytes.
Hide base prefix for memory values
Select to hide the base prefix where applicable.
For example:
  • For hexadecimal values, this option hides the preceding 0x. So the value 0xEA000016 is shown as EA000016.
  • For binary values, this option hides the preceding 0b. So the value 0b00010110 is shown as 00010110.
  • For octal values, this option hides the preceding 0. So the value 035200000026 is shown as 35200000026.
Hide Characters column
Select to the hide the Characters column in the Memory view.
Show tooltip

Select to control the display of tooltips on memory cell values.

Automatically align the memory addresses

Aligns the memory view to the currently selected data width.

Show compressed addresses

Shows the least significant bytes of the address that are not repeating.

Non-ConfidentialPDF file icon PDF versionARM DUI0446Z
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.