Everything
 

Memory panel


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.

Remark

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.

Figure A.5

Memory Panel

 

This section describes the following.

[How to open]

-

Choose [Memory] from the [View] menu and then select [Memory 1-4].

[Description of each area]

(1)

Display position specification area

By specifying an address expression, it is possible to specify the display start position of memory values.

Make the following specifications in order.

(a)

Specify address expressions

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.

 

Remark 1.

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").

Remark 2.

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.

(b)

Specify whether to evaluate address expression manually or automatically

The [Move when Stop] check box and the [Move] buttons are used to determine the timing with which the display start position is changed.

[Move when Stop]

 

The address expression is automatically evaluated after the program has halted and the caret moves to the address derived from that calculation.

 

The address expression is not automatically evaluated after the program has halted. In this case, the address expression is evaluated by clicking the [Move] button.

[Move] button

If the [Move when Stop] check box is not checked, the address expression is evaluated by clicking this button and the caret moves to the address derived from that calculation.

(2)

Address area

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.

This area cannot be edited.

Caution

The offset value that has been set is automatically changed in accordance with the number of view columns in the Memory value area.

(3)

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.).

Example display (default)

Description

 

Text color

Blue

Memory values that have been changed by the user (Pressing the [Enter] key will write them into the target memory)

Background color

Standard color

 

(Underlined)

Text color

Standard color

Memory values at addresses for which symbols are defined (Watch-expressions can be registered.) (See Register watch-expressions.)

Background color

Standard color

 

Text color

Sienna

Memory values that have changed as a result of program execution

Note 1.

Clicking the button in the toolbar resets the highlighting.

Background color

LightYellow

 

Text color

DeepPink

Memory values for which the Realtime display update function is enabled

Background color

Standard color

 

Text color

Standard color

Read/Fetch

Current access condition of the memory value when the Realtime display update function is enabled

Background color

PaleGreen

 

Text color

Standard color

Write

Background color

Orange

 

Text color

Standard color

Read and Write

Background color

PaleTurquoise

 

Text color

White

Lost

Background color

LightGray

 

Text color

Gray

Memory values of not-readable area

Background color

Standard color

 

Text color

Gray

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

Background color

Standard color

**

Text color

Standard color

When areas other than the Realtime display update area are selected for display during program execution or when acquisition of memory values failed

Background color

Standard color

Note 1.

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.

Note 2.

[E1] [E20]
The value of each I/O protection area is displayed as 00.

Caution

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.

(a)

Popup display

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.

Symbol name

A symbol name is displayed.

Offset value

If the address has no symbols defined, an offset from the symbol nearest in forward to it is displayed (always in hexadecimal).

(b)

Realtime display update function

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."

(c)

Edit memory values

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."

(d)

Search and initialize memory values

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").

(e)

Copy and paste

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.).

Character code

ASCII

Character string

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, A, B, C, D, E, F

(f)

Register watch-expressions

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).

Caution

Memory values with no underlines cannot be registered as watch-expressions.

(g)

Save memory values

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".

(h)

Zoom in or out on a view

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).

(4)

Character string area

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.

Item

Display Format

Size

Half-Precision Float

Half-precision floating-point value

16-bit

Numeric value

<sign><mantissa>e<sign><exponent>

Infinite number

Inf, and -Inf

Not a number

NaN

Example

+ 1.234e+1

Float

Single-precision floating-point value

32-bit

Numeric value

<sign><mantissa>e<sign><exponent>

Infinite number

Inf, and -Inf

Not a number

NaN

Example

+ 1.234567e+123

Double

Double-precision floating-point value

64-bit

Numeric value

<sign><mantissa>e<sign><exponent>

Infinite number

Inf, and -Inf

Not a number

NaN

Example

+ 1.2345678901234e+123

Float Complex

Complex number of single-precision floating-point

64-bit

<Single-precision floating-point value> <Single-precision floating-point value> * I

Double Complex

Complex number of double-precision floating-point

128-bit

<Double-precision floating-point value> <Double-precision floating-point value> * I

Float Imaginary

Imaginary number of single-precision floating-point

32-bit

<Single-precision floating-point value> * I

Double Imaginary

Imaginary number of double-precision floating-point

64-bit

<Double-precision floating-point value> * I

Caution

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.

(a)

Edit character strings

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.)

Caution

Character strings displayed as floating-point values cannot be edited.

(b)

Searching character strings

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").

(c)

Copying and pasting

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.).

[Toolbar]

 

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.

However, this button is disabled during program execution.

Notation

Shows the following buttons that change the form in which memory values are displayed.

However, these buttons are disabled during program execution.

 

Hexadecimal

Displays memory values in hexadecimal (default).

Signed Decimal

Displays memory values in signed decimal.

Unsigned Decimal

Displays memory values in unsigned decimal.

Octal

Displays memory values in octal.

Binary

Displays memory values in binary.

Size Notation

Shows the following buttons that change the form in which memory value size is displayed.

However, these buttons are disabled during program execution.

 

4 Bits

Displays memory values in 4-bit width.

1 Byte

Displays memory values in 8-bit width (default).

2 Bytes

Displays memory values in 16-bit width.

The value is converted according to the endian in the target memory area.

4 Bytes

Displays memory values in 32-bit width.

The value is converted according to the endian in the target memory area.

8 Bytes

Displays memory values in 64-bit width.

The value is converted according to the endian in the target memory area.

Encoding

Shows the following buttons that change the encoding in which character strings are displayed.

However, these buttons are disabled during program execution.

 

ASCII

Displays character strings in ASCII code (default).

Shift_JIS

Displays character strings in Shift_JIS code.

EUC-JP

Displays character strings in EUC-JP code.

UTF-8

Displays character strings in UTF-8 code.

UTF-16 Big-Endian

Displays character strings in UTF-16 Big-Endian code.

UTF-16 Little-Endian

Displays character strings in UTF-16 Little-Endian code.

UTF-32 Big-Endian

Displays character strings in UTF-32 Big-Endian code.

UTF-32 Little-Endian

Displays character strings in UTF-32 Little-Endian code.

Half-Precision Float

Displays character strings as a half-precision floating-point value.

Float

Displays character strings as a single-precision floating-point value.

Double

Displays character strings as a double-precision floating-point value.

Float Complex

Displays character strings as a complex number of single-precision floating-point.

Double Complex

Displays character strings as a complex number of double-precision floating-point.

Float Imaginary

Displays character strings as an imaginary number of single-precision floating-point.

Double Imaginary

Displays character strings as an imaginary number of double-precision floating-point.

View

Shows the following buttons that change the display form.

 

Settings Scroll Range...

Opens the Scroll Range Settings dialog box to set the scroll range.

Column Number Settings...

Opens the Column Number Settings dialog box to set the number of view columns in the Memory value area.

Address Offset Value Settings...

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.

Save Memory Data

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.

Save Memory Data As...

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.

Copy

Copies a selected range as character string to the clipboard.

Paste

Pastes the copied character string from the clipboard to the caret position.

-

To paste in the memory value area, see "(e) Copy and paste".

-

To paste in the character string area, see "(c) Copying and pasting".

Find...

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.

[Context Menu]

Register to Watch1

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").

Find...

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.

However, this menu is disabled during program execution.

Fill...

Opens the Memory Initialize dialog box.

Refresh

Obtains latest information from the debug tool and updates the display.

Copy

Copies a selected range as character string to the clipboard.

However, this menu is disabled during program execution.

Paste

Pastes the copied character string from the clipboard to the caret position.

However, this menu is disabled during program execution.

-

To paste in the memory value area, see "(e) Copy and paste".

-

To paste in the character string area, see "(c) Copying and pasting".

Notation

Shows the following cascaded menu to specify the display notation in the memory value area.

However, this menu is disabled during program execution.

 

Hexadecimal

Displays memory values in hexadecimal (default).

Signed Decimal

Displays memory values in signed decimal.

Unsigned Decimal

Displays memory values in unsigned decimal.

Octal

Displays memory values in octal.

Binary

Displays memory values in binary.

Size Notation

Shows the following cascaded menu to specify the display width in the memory value area.

However, this menu is disabled during program execution.

 

4 Bits

Displays memory values in 4-bit width.

1 Byte

Displays memory values in 8-bit width (default).

2 Bytes

Displays memory values in 16-bit width.

The value is converted according to the endian in the target memory area.

4 Bytes

Displays memory values in 32-bit width.

The value is converted according to the endian in the target memory area.

8 Bytes

Displays memory values in 64-bit width.

The value is converted according to the endian in the target memory area.

Encoding

Shows the following cascaded menu to specify the display form in the character string area.

However, this menu is disabled during program execution.

 

ASCII

Displays character strings in ASCII code (default).

Shift_JIS

Displays character strings in Shift_JIS code.

EUC-JP

Displays character strings in EUC-JP code.

UTF-8

Displays character strings in UTF-8 code.

UTF-16 Big-Endian

Displays character strings in UTF-16 Big-Endian code.

UTF-16 Little-Endian

Displays character strings in UTF-16 Little-Endian code.

UTF-32 Big-Endian

Displays character strings in UTF-32 Big-Endian code.

UTF-32 Little-Endian

Displays character strings in UTF-32 Little-Endian code.

Half-Precision Float

Displays character strings as a half-precision floating-point value.

Float

Displays character strings as a single-precision floating-point value.

Double

Displays character strings as a double-precision floating-point value.

Float Complex

Displays character strings as a complex number of single-precision floating-point.

Double Complex

Displays character strings as a complex number of double-precision floating-point.

Float Imaginary

Displays character strings as an imaginary number of single-precision floating-point.

Double Imaginary

Displays character strings as an imaginary number of double-precision floating-point.

View

Shows the following cascaded menu to change the display form.

 

Settings Scroll Range...

Opens the Scroll Range Settings dialog box to set the scroll range.

Column Number Settings...

Opens the Column Number Settings dialog box to set the number of view columns in the Memory value area.

Address Offset Value Settings...

Opens the Address Offset Settings dialog box to set an offset value for addresses displayed in the Address area.

Highlight Accessed

Checking this menu will highlight the memory value which has been changed due to program execution (default).

However, this menu is disabled during program execution.

Periodic Updating

Shows the following cascaded menu to set realtime display updates (see "(b) Realtime display update function").

 

Periodic Updating Options

Opens the Property panel to comprehensively set the Realtime display update.