This panel displays or changes memory contents (see Section "2.11.1 Displaying and changing memory contents").
Up to four memory panels can be opened at a time, with each panel discriminated by the name in their title bar, "Memory 1," "Memory 2," "Memory 3," or "Memory 4."
When memory values change after execution of the program, the display is automatically updated. (During step execution, the display is successively updated each time a step is executed.)
Also, if the Realtime display update function is enabled, the display of values can be updated in real time, even while the program is under execution.
Note that this panel can only be opened when CS+ is connected with the debug tool.
In a Scroll Range Settings dialog box that is opened by selecting [View] and then clicking the button in the toolbar, it is possible to set the scroll range of the vertical scroll bar of this panel. |
This section describes the following.
By specifying an address expression, it is possible to specify the display start position of memory values.
Make the following specifications in order.
Enter an address expression for the address of the memory value to be displayed directly in the text box. Input expressions in up to 1,024 characters each can be specified, with their calculation result handled as a display start position.
However, address expressions greater than the microcontroller's address space cannot be specified.
By holding down [Ctrl]+[Space] keys in this text box, you can complete the symbol name at the present caret position (see "2.21.2 Symbol name completion function"). |
In cases where the specified address expression represents a symbol and the size is known, a range of memory from the start address to end address of that symbol is selected when displayed. |
The [Move when Stop] check box and the [Move] buttons are used to determine the timing with which the display start position is changed.
This area displays memory addresses (always in hexadecimal).
The display starts from address 0x0 by default.
However, an offset value of the start address can be set via the Address Offset Settings dialog box that is opened by selecting [Address Offset Value Settings...] from the context menu.
The address width matches that of the microcontroller's memory space specified in the project.
The offset value that has been set is automatically changed in accordance with the number of view columns in the Memory value area. |
This area displays or changes memory values for the program mapped to the microcontroller.
To specify the display notation, display width of memory values, and the number of view columns, use the toolbar buttons or select [Notation], [Size Notation], and [View] from the context menu, respectively (see “2.11.1.2 Changing the display form of values“).
The following table describes the meaning of marks and colors used to represent memory values (The colors in which text and backgrounds are displayed depend on how the [General - Font and Color] category of the Option dialog box is set.).
Memory values that have been changed by the user (Pressing the [Enter] key will write them into the target memory) |
||||
Memory values at addresses for which symbols are defined (Watch-expressions can be registered.) (See Register watch-expressions.) |
||||
Memory values that have changed as a result of program execution |
||||
Memory values for which the Realtime display update function is enabled |
||||
Current access condition of the memory value when the Realtime display update function is enabled |
||||
Areas not memory-mapped or areas not rewritable (e.g., IO register and I/O protection areas Note 2) or when acquisition of memory values failed |
||||
When areas other than the Realtime display update area are selected for display during program execution or when acquisition of memory values failed |
||||
Applicable only to the memory values in the address area that was displayed on the Memory panel immediately before the program execution. As the comparison is made before and after the program execution, highlighting will not be used if the value remained unchanged. |
The number of view columns is automatically changed in accordance with the set value of [Size Notation] of the context menu. |
This area has the following features.
When the mouse cursor is placed on top of a memory value, the following content is displayed in a popup box, relative to the symbol nearest in forward direction to the address indicated by the mouse cursor.
However, if symbol information is nonexistent (i.e., if the memory value is not underlined), no popup is displayed.
If the address has no symbols defined, an offset from the symbol nearest in forward to it is displayed (always in hexadecimal). |
Using the realtime display update function, it is possible to display or change memory values even while the program is under execution, not just when the program is halted.
For details about the realtime display update function, see "2.11.1.4 Displaying and changing memory contents during program execution."
You can edit a memory value directly from the keyboard by simply moving the caret to the memory value you wish to change.
When a memory value is edited, the altered part of it changes in display color. While in this state, hit the [Enter] key, and the changed value is written into the target memory (Pressing the [Esc] key before pressing [Enter] key cancels editing.).
For details on how to change memory values, see "2.11.1.3 Changing memory contents."
Open the Memory Search dialog box in which you can search memory contents in the specified address area by selecting [Find...] from the context menu (see "2.11.1.5 Searching for memory contents").
Also, selecting [Fill...] from the context menu will open the Memory Initialize dialog box in which you can collectively modify memory contents in the specified address range (see "2.11.1.6 Collectively changing (initializing) memory contents").
By selecting a range of memory values with the mouse, you can copy the content of the selected part as a character string to the clipboard, and then paste it to the caret position.
To perform these operations, select the appropriate item from the context menu or from the [Edit] menu.
Note that pasting is possible only when the display format (notation and bit width) of the character string matches that of the area to which it is pasted (A message will appear if the formats do not agree).
The following table shows the character code and character strings that can be used in this area (A message will appear when a character string other than those listed here is pasted.).
A memory value at the addresses for which symbol is defined is underlined to indicate that it can be registered as a watch-expression.
Select this underlined memory value, or while the caret is positioned at one of such memory values, select [Register to Watch1] from the context menu, and the symbol name at the specified address is registered as a watch-expression on the Watch panel (Watch1).
Choosing [Save Memory Data As...] from the [File] menu opens the Data Save dialog box, allowing the contents of this panel to be saved to a text file (*.txt) or CSV file (*.csv).
For details on how to save memory values, see "2.11.1.7 Saving displayed memory contents".
To zoom in and out of the Memory panel view, change the zoom ratio by using the drop-down list on the toolbar of the Main window while the focus is placed in the Memory panel.
You can also change the zoom ratio by using the [Ctrl] key + mouse-wheel combination.
Using the [Ctrl] key + mouse-wheel forward will zoom into the view, making the contents larger and easier to see (max. 300%). |
Using the [Ctrl] key + mouse-wheel backward will zoom out of the view, making the contents smaller (min. 50%). |
If the panel is closed after the zoom ratio is changed, the changed zoom ratio is retained (next time, the panel will open at the changed zoom ratio).
This area displays memory values converted into character code.
To specify character code, click the appropriate toolbar button or select [Encoding] from the context menu (ASCII code is selected by default).
Furthermore, in this area, memory values converted into a floating-point value can be displayed as character strings. To do this, select the following item from [Encoding] of the context menu.
<Single-precision floating-point value> <Single-precision floating-point value> * I |
|||
<Double-precision floating-point value> <Double-precision floating-point value> * I |
|||
Nothing is displayed when the minimum size of a character code or a floating-point value is greater than "the number of bytes of display width of memory values" x "the number of view columns". |
This area has the following features.
Character strings can be changed only when [ASCII] is specified for the character code.
You can edit a character string directly from the keyboard by simply moving the caret to the character string you wish to change.
When a character string is edited, the altered part of it changes in display color. While in this state, hit the [Enter] key, and the changed value is written into the target memory. (Pressing the [Esc] key before pressing [Enter] key cancels editing.)
The Memory Search dialog box is opened to search for character strings by selecting [Find...] from the context menu (see "2.11.1.5 Searching for memory contents").
By selecting a range of character strings with the mouse, you can copy it to the clipboard as character strings and then paste it to the caret position.
To perform these operations, select the appropriate item from the context menu or from the [Edit] menu.
Note that pasting is possible only when [ASCII] is specified for the character code (If any other character code is specified, a message is displayed.).
Obtains latest information from the debug tool and updates display. |
||
Resets the highlighting that indicates the spot whose value has changed as a result of program execution. |
||
Shows the following buttons that change the form in which memory values are displayed. However, these buttons are disabled during program execution. |
||
Shows the following buttons that change the form in which memory value size is displayed. However, these buttons are disabled during program execution. |
||
Displays memory values in 16-bit width. The value is converted according to the endian in the target memory area. |
||
Displays memory values in 32-bit width. The value is converted according to the endian in the target memory area. |
||
Displays memory values in 64-bit width. The value is converted according to the endian in the target memory area. |
||
Shows the following buttons that change the encoding in which character strings are displayed. However, these buttons are disabled during program execution. |
||
Displays character strings as a half-precision floating-point value. |
||
Displays character strings as a single-precision floating-point value. |
||
Displays character strings as a double-precision floating-point value. |
||
Displays character strings as a complex number of single-precision floating-point. |
||
Displays character strings as a complex number of double-precision floating-point. |
||
Displays character strings as an imaginary number of single-precision floating-point. |
||
Displays character strings as an imaginary number of double-precision floating-point. |
||
Opens the Scroll Range Settings dialog box to set the scroll range. |
||
Opens the Column Number Settings dialog box to set the number of view columns in the Memory value area. |
||
Opens the Address Offset Settings dialog box to set an address and an offset value for addresses displayed in the Address area. |
[[File] menu (Memory panel-Only Items)]
The [File] menu used exclusively for the Memory panel is as follows. (The other items are shared.)
However, all of these items are disabled during program execution.
Saves memory contents to a text file (*.txt) or CSV file (*.csv) that has been saved previously (see "(g) Save memory values"). If this item is selected for the first time after startup, the same operation as [Save Memory Data As ...] will be performed. |
|
Opens the Data Save dialog box in order to save memory to a specified text file (*.txt) or CSV file (*.csv) (see "(g) Save memory values"). |
[[Edit] menu (Memory panel-Only Items)]
The [Edit] menu used exclusively for the Memory panel is as follows. (All other items are disabled.)
However, all of these items are disabled during program execution.
Copies a selected range as character string to the clipboard. |
|||||
Pastes the copied character string from the clipboard to the caret position.
|
|||||
Opens the Memory Search dialog box. A search is performed within the Memory value area or the Character string area whichever has the caret in it. |
Registers the symbol at the caret position on the Watch panel (Watch1). When symbols are registered as watch-expressions, they are registered as variable names. Because of this, displayed symbol names vary by scope. However, if the address corresponding to the memory value at the caret position has no symbols defined, this menu is disabled (see "(f) Register watch-expressions"). |
||||||
Opens the Memory Search dialog box. A search is performed within the Memory value area or Character string area (unless the floating-point value display is selected) whichever has the caret in it. |
||||||
Opens the Memory Initialize dialog box. |
||||||
Obtains latest information from the debug tool and updates the display. |
||||||
Copies a selected range as character string to the clipboard. |
||||||
Pastes the copied character string from the clipboard to the caret position. However, this menu is disabled during program execution.
|
||||||
Shows the following cascaded menu to specify the display notation in the memory value area. |
||||||
Shows the following cascaded menu to specify the display width in the memory value area. |
||||||
Displays memory values in 16-bit width. The value is converted according to the endian in the target memory area. |
||||||
Displays memory values in 32-bit width. The value is converted according to the endian in the target memory area. |
||||||
Displays memory values in 64-bit width. The value is converted according to the endian in the target memory area. |
||||||
Shows the following cascaded menu to specify the display form in the character string area. |
||||||
Displays character strings as a half-precision floating-point value. |
||||||
Displays character strings as a single-precision floating-point value. |
||||||
Displays character strings as a double-precision floating-point value. |
||||||
Displays character strings as a complex number of single-precision floating-point. |
||||||
Displays character strings as a complex number of double-precision floating-point. |
||||||
Displays character strings as an imaginary number of single-precision floating-point. |
||||||
Displays character strings as an imaginary number of double-precision floating-point. |
||||||
Shows the following cascaded menu to change the display form. |
||||||
Opens the Scroll Range Settings dialog box to set the scroll range. |
||||||
Opens the Column Number Settings dialog box to set the number of view columns in the Memory value area. |
||||||
Opens the Address Offset Settings dialog box to set an offset value for addresses displayed in the Address area. |
||||||
Checking this menu will highlight the memory value which has been changed due to program execution (default). |
||||||
Shows the following cascaded menu to set realtime display updates (see "(b) Realtime display update function"). |
||||||
Opens the Property panel to comprehensively set the Realtime display update. |