The Memory window shows the contents of the connected target's memory areas and allows the memory to be edited. SEGGER Embedded Studio for ARM provides four memory windows, you can configure each memory window to display different memory ranges.

The Memory window has a toolbar and a data display/edit area

Field/Button Description
Address Address to display. This can be a numeric value or a debug expression.
Size Number of bytes to display. This can be a number or a debug expression. If unspecified, the number of bytes required to fill the window will be automatically calculated.
Columns Number of columns to display. If unspecified, the number of columns required to fill the window will be automatically calculated.
Select binary display.
Select octal display.
Select unsigned decimal display.
Select signed decimal display.
Select hexadecimal display (default).
Select byte display (default).
Select 2-byte display.
Select 4-byte display.
Display both data and text (default).
Display data only.
Display text only.
Display an incrementing address range that starts from the selected address (default).
Display a decrementing address range that starts from the selected address.
Display an incrementing address range that ends at the selected address.
Display a decrementing address range that ends at the selected address.
Evaluate the address and size expressions, and update the Memory window.

Using the memory window

The memory window does not show the complete address space of the target, instead you must enter both the address and the number of bytes to display. You can specify the address and size using numeric values or debug expressions which enable you to position the memory display at the address of a variable or at the value of a register. You can also specify whether you want the expressions to be evaluated each time the memory window is updated, or you can re-evaluate them yourself with the press of a button. Memory windows update each time your program stops on a breakpoint, after a single step and whenever you traverse the call stack. If any values that were previously displayed have changed, they are highlighted in red.

To activate the first Memory window:

Other register windows can be similarly activated.

Using the mouse

You can move the memory window's edit cursor by clicking on a data or text entry.

The vertical scroll bar can be used to modify the address being viewed by clicking the up and down buttons, the page up and down areas or using the vertical scroll wheel when the scroll bar is at it's furthest extent. Holding down the Shift key while scrolling will prevent the address being modified.

Using the keyboard

Keystroke Description
Up Move the cursor up one line, or if the cursor is on the first line, move the address up one line.
Down Move the cursor down one line, or if the cursor is on the last line, move the address down line line.
Left Move the cursor left one character.
Right Move the cursor right one character.
Home Move the cursor to the first entry.
End Move the cursor to the last entry.
PageUp Move the cursor up one page, or if the cursor is on first page, move the address up one page.
PageDown Move the cursor down one page, or if the cursor is on the last page, move the address down one page.
Ctrl+E Toggle the cursor between data and text editing.

Editing memory

To edit memory, simply move the cursor to the data or text entry you want to modify and start typing. The memory entry will be written and read back as you type.

Shortcut menu commands

The shortcut menu contains the following commands:

Action Description
Access Memory By Display Width Access memory in terms of the display width.
Address Order Specify whether the address range shown uses Address as the start or end address and whether addresses should increment or decrement.
Auto Evaluate Re-evaluate Address and Size each time the Memory window is updated.
Auto Refresh Specify how frequently the memory window should automatically refresh.
Export To Binary Editor Create a binary editor with the current Memory window contents.
Save As Save the current Memory window contents to a file. Supported file formats are Binary File, Motorola S-Record File, Intel Hex File, TI Hex File, and Hex File.
Load From Load the current Memory window from a file. Supported file formats are Binary File, Motorola S-Record File, Intel Hex File, TI Hex File, and Hex File.

Display formats

You can set the Memory window to display 8-bit, 16-bit, and 32-bit values that are formatted as hexadecimal, decimal, unsigned decimal, octal, or binary. You can also specify how many columns to display.

Saving memory contents

You can save the displayed contents of the memory window to a file in various formats. Alternatively, you can export the contents to a binary editor to work on them.

You can save the displayed memory values as a binary file, Motorola S-record file, Intel hex file, or a Texas Instruments TXT file.

To save the current state of memory to a file:
To export the current state of memory to a binary editor:

Note that subsequent modifications in the binary editor will not modify memory in the target.

Copying to clipboard

You can copy the contents of the memory window to the clipboard as text. If an address range is selected, the data or text of the selected range will be copied to the clipboard depending on whether the selection has been made in the data or text view. If no address range is selected, the current memory window view will be copied to the clipboard.