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. Previous entries are listed in a drop-down list which is cleared when you exit Eclipse.
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 four 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-15 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:
memorycommand to configure access widths for a region of memory, followed by the
xcommand to read memory according to those access widths and display the contents.
memory setcommand 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:
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.
Addresses and expressions you specify in the Address field are added to the drop down box, and persist until you clear the history list or exit Eclipse. If you want to keep an expression for later use, add it to the Expressions view.
- Timed auto refresh is off
- Cannot update
This option opens a dialog box where you can specify refresh intervals:
If timed auto refresh is off mode is selected, the auto refresh is off.
If the cannot update mode is selected, the auto refresh is blocked.
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.
- 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 exit Eclipse. If you want to keep an expression for later use, add it to the Expressions view.
Context menu options are available for editing this field.
- Size field
The number of bytes to display.
Context menu options are available for editing this field.
Searches through debug information for symbols.
- View Menu
The following View Menu options are available:
- New Memory View
Displays a new instance of the Memory view.
- 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.
- 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. The cache columns display the state of each cache-line if it is populated.
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.
NoteIn 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.
Figure 11-16 Memory view with Show Cache
- 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 box.
- 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.
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.
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:
Copies and deletes the selected value.
Copies the selected value.
Pastes a value that you have previously cut or copied into the selected memory cell or field.
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.
- Toggle Breakpoint
Sets or removes a breakpoint at the selected address.
- Toggle Hardware Breakpoint
- Sets or removes a hardware breakpoint at the selected address.
- Toggle Trace Start Point
Sets or removes a trace start point at the selected address.
- Toggle Trace Stop Point
Sets or removes a trace stop point at the selected address.
- Toggle Trace Trigger Point
Starts a trace trigger point at the selected address.
- Translate Address <address>
Displays the MMU view and translates the address of the selected value in memory.
The following additional options are available on the context menu when you select a memory cell with a breakpoint:
- Enable Breakpoint
Enables the breakpoint at the selected address.
- Disable Breakpoint
Disables the breakpoint at the selected address.
- Remove Breakpoint
- Removes the breakpoint at the selected address.
- Resolve Breakpoint
Resolves a pending breakpoint at the selected address.
- Breakpoint Properties...
- Displays and lets you change the breakpoint properties.