The Memory window shows the contents of the connected target's memory areas and allows the memory to be edited. CrossStudio 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
|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.|
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.
Other register windows can be similarly activated.
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.
|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.|
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.
The shortcut menu contains the following commands:
|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.|
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.
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.
Note that subsequent modifications in the binary editor will not modify memory in the target.
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.