Memory panel


This panel is used to display the contents of the memory and change the memory value (see "2.10.1 Display/change the memory").

Furthermore, the contents of data flash memory (including ID tag) can be displayed and changed when the selected microcontroller incorporates the data flash memory.

Up to a maximum of four of these panels can be opened. Each panel is identified by the names "Memory1", "Memory2", "Memory3", and "Memory4" on the titlebar.

The display contents are automatically updated when the value of the memory changes after a program is executed (when the execution is done in steps, the display is updated after each step). In addition, by enabling the Real-time display update function, it is also possible to update the display contents in real-time even while a program is being executed.

This panel appears only when connected to the debug tool.

Caution

CPU reset may be generated depending on the selected microcontroller if you change the memory value in the data flash area.

Remark 1.

This panel can be zoomed in and out by in the tool bar, or by moving the mouse wheel forward or backward while holding down the [Ctrl] key.

Remark 2.

You can set the scroll range of the vertical scroll bar on this panel via the Scroll Range Settings dialog box which is opened by clicking the button from [View] on the toolbar.

Figure A.15

Memory Panel

 

This section describes the following.

[How to open]

-

From the [View] menu, select [Memory] >> [Memory1-4].

[Description of each area]

(1)

Display position specification area

It is possible to specify the display start position of the memory contents by specifying an address expression.

Specify the following items.

(a)

Specify an address expression

Directly input the address expression of the memory value address to display in the text box. You can specify an input expression with up to 1024 characters. The result of the expression is treated as the display start position address.

Note that an address value greater than the microcontroller address space cannot be specified.

In addition, an address value greater than the value expressed within 32 bits cannot be specified.

Remark 1.

A symbol name at the current caret position can be complemented by pressing the [Ctrl] + [Space] key in this text box (see "2.19.2 Symbol name completion function").

Remark 2.

If the specified address expression is the symbol and its size can be recognized, everything from the start address to the end address of that symbol is displayed selected.

(b)

Specify automatic/manual evaluation of the address expression

The timing to change the display start position can be determined by specifying in the [Move when Stop] check box and the [Move] button.

[Move when Stop]

 

The caret is moved to the address which is automatically calculated from the address expression after the program is stopped.

 

The address expression is not automatically evaluated after the program is stopped.

Click the [Move] button to manually evaluate the address expression.

[Move] button

When the [Move when Stop] check box is not checked, click this button to evaluate the address expression and move the caret to the result address of the evaluation.

(2)

Address area

The address of the memory is displayed (hexadecimal number notation fixing).

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 corresponds to the one in memory space of the specified microcontroller in the project.

This area cannot be edited.

Caution

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

(3)

Memory value area

The value of the memory is displayed and changed.

Specification of the display notation, display width of memory values or the number of view columns is performed by selecting the buttons on the toolbar or [Notation]/[Size Notation]/[View] from the context menu (see "2.10.1.2 Change display format of values").

The meanings of the marks and colors displayed as memory values are as follows (character colors and background colors depend on the configuration in the [General - Font and Color] category of the Option dialog box):

Display Example (Default)

Description

 

Character color

Blue

Memory value that the user is changing
Press the [Enter] key to write to the target memory.

Background color

Standard color

 

(Under line)

Character color

Standard color

Memory value of the address whose symbol has been defined.
Watch-expressions can be registered to this memory (see "(f) Registering watch-expressions").

Background color

Standard color

 

Character color

Brown

Memory value that has been changed because of the execution of a programNote

To reset the highlighting, select the button on the toolbar.

Background color

Cream

 

Character color

Pink

Memory value for which the Real-time display update function is being operated

Background color

Standard color

 

Character color

Standard color

Read/Fetch

Current access condition of the memory value when the Real-time display update function is being operated

Background color

Palegreen

 

Character color

Standard color

Write

Background color

Orange

 

Character color

Standard color

Read and Write

Background color

Paleturquoise

 

Character color

Gray

Memory value of the read-protected area

Background color

Standard color

 

Character color

Gray

Areas not memory-mapped

Background color

Standard color

 

Character color

Gray

Areas not rewritable (e.g. I/O register area/I/O protection area) or when acquisition of memory values failed

Background color

Standard color

**

Character color

Standard color

When display is specified for other than the real-time display update area during program execution or when acquisition of memory values failed

Background color

Standard color

Note

Just before execution of a program, only the memory value in the address range for which the Memory panel had been displayed becomes the target.
In addition, the value is not highlighted if it is same for before and after the execution of the program.

Caution

The number of view columns is automatically changed in accordance with the set value of [Size Notation] of the context menu.

 

This area is provided with the following functions.

(a)

Pop-up display

The following contents are pop-up displayed based on the nearest existing symbol forward from the address the mouse is designating when hovering the mouse cursor over the memory value.

Note that if there is no symbol information (the underlining is non-display), no pop-up display is done.

Symbol name

Indicates the name of the symbol.

Offset value

When a symbol has not been defined for the addresses, the offset value from the nearest symbol exists forward is displayed (hexadecimal number notation fixing).

(b)

Real-time display update function

Using the real-time display update function allows you to display/modify the value of the memory contents not only while the program is stopped, but also in execution.

See "2.10.1.4 Display/modify the memory contents during program execution" for details on the real-time display update function.

(c)

Changing memory values

Directly edit from the keyboard after moving the caret to the memory value to be edited.

The color of the memory value changes when it is in editing. Press the [Enter] key to write the edited value to the target memory (if the [Esc] key is pressed before the [Enter] key is pressed, the editing is cancelled).

See "2.10.1.3 Modify the memory contents" for details on the method for changing the memory value.

(d)

Searching/initializing memory value

The Memory Search dialog box is opened to search the memory contents in the specified address range by selecting [Find...] from the context menu (see "2.10.1.5 Search the memory contents").

In addition, the Memory Initialize dialog box is opened to change the memory contents collectively in the specified address range by selecting [Fill...] from the context menu (see "2.10.1.6 Modify the memory contents in batch (initialize)").

(e)

Copying and pasting

By selecting a range of memory values with the mouse, the contents of the range can be copied to the clipboard as a character string, and these contents can be pasted to the caret position.

These operations are performed by selecting from the context menu or selecting from the [Edit] menu.

However, the paste operation is possible only when the character string to be pasted and the display notation (radix and size) of the area match.
If the display notation does not match, a message is displayed.

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)

Registering watch-expressions

A memory value with underline indicates that a symbol has been defined in the address, and its symbol can be registered as a watch-expression.

After selecting the memory value or placing the caret on the memory value, the symbol name of the address is registered in the Watch panel (Watch1) as a watch-expression by selecting [Register to Watch1] from the context menu.

Caution

A memory value without underline cannot be registered as a watch-expression.

(g)

Saving the contents of memory values

The Data Save dialog box can be opened by selecting the [File] menu >> [Save Memory Data As...], and the contents of this panel can be saved in a text file (*.txt) or CSV file (*.csv).

See "2.10.1.7 Save the memory contents" for details on the method for saving the contents of memory values.

(4)

Character strings area

Memory values converted into character code are displayed.

The character code can be specified by selecting [Encoding] from the toolbar or 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 bytes of the number of view columns".

 

This area is provided with the following functions.

(a)

Changing character strings

Directly edit from the keyboard after moving the caret to the character string to be edited.

The color of the character string changes when it is in editing. Press the [Enter] key to write the edited value to the target memory (if the [Esc] key is pressed before the [Enter] key is pressed, the editing is cancelled).

Caution

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

(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.10.1.5 Search the memory contents").

(c)

Copying and pasting

By selecting a range of character strings with the mouse, the contents of the range can be copied to the clipboard as a character string, and these contents can be pasted to the caret position.

These operations are performed by the selecting from the context menu or selecting from the [Edit] menu.

However, the paste operation is possible only when [ASCII] has been selected as the character code. If other than [ASCII] is selected, a message is displayed.

[Toolbar]

 

Acquires the latest data from the debug tool, and updates the contents of this panel.

 

Resets highlighting of values that have been changed by executing a program.

This item is disabled during execution of a program.

Notation

The following buttons to change the notation of memory values are displayed.

 

Hexadecimal

Displays memory values in hexadecimal number (default).

Signed Decimal

Displays memory values in signed decimal number.

Unsigned Decimal

Displays memory values in unsigned decimal number.

Octal

Displays memory values in octal number.

Binary

Displays memory values in binary number.

Size Notation

The following buttons to change the notation of sizes of memory values are displayed.

 

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.

Values are converted depending on the endian of the target memory area.

4 Bytes

Displays memory values in 32-bit width.

Values are converted depending on the endian of the target memory area.

8 Bytes

Displays memory values in 64-bit width.

Values are converted depending on the endian of the target memory area.

Encoding

The following buttons to change the encoding of character strings are displayed.

 

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

Displays character strings in UTF-16 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

The following buttons to change the display format are displayed.

 

Settings Scroll Range...

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

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.

[[File] menu (Memory panel-dedicated items)]

The following items are exclusive for the [File] menu in the Memory panel (other items are common to all the panels).

Note that all these items are disabled during execution of a program.

Save Memory Data

Overwrites the contents of this panel to the previously saved text file (*.txt)/CSV file (*.csv) (see "(g) Saving the contents of memory values").

Note that when the file has never been saved or the file is write disabled, the same operation is applied as the selection in [Save Memory Data As...].

Save Memory Data As...

Opens the Data Save dialog box to newly save the contents of this panel to the specified text file (*.txt)/CSV file (*.csv) (see "(g) Saving the contents of memory values").

[[Edit] menu (Memory panel-dedicated items)]

The following items are exclusive for [Edit] menu in the Memory panel (all other items are disabled).

Note that all these items are disabled during execution of a program.

Copy

Copies the contents of the selected range to the clipboard as character string(s).

Paste

Pastes the character string(s) copied in the clipboard to the caret position.

To the memory value area: See "(e) Copying and pasting".

To the character strings area: See "(c) Copying and pasting".

Find...

Opens the Memory Search dialog box.

The search is operated either in the Memory value area or the Character strings area, in which a caret is.

[Context menu]

Register to Watch1

Registers the symbol at the caret to the Watch panel (Watch1).

At this time, since it is registered as a variable name, the symbol name that is displayed changes depending on the scope.

Note that this item is disabled when no symbol has been defined in the address corresponding to the memory value at the caret position (see "(f) Registering watch-expressions").

Find...

Opens the Memory Search dialog box.

The search is operated either in the Memory value area or the Character strings area (unless the floating-point value display is selected), in which a caret is.

This item is disabled during execution of a program.

Fill...

Opens the Memory Initialize dialog box.

Refresh

Acquires the latest data from the debug tool, and updates the contents of this panel.

Copy

Copies the contents of the selected range to the clipboard as character string(s).

This item is disabled during execution of a program.

Paste

Pasts the character string(s) copied in the clipboard to the caret position.

This item is disabled during execution of a program.

To the memory value area: See "(e) Copying and pasting".

To the character strings area: See "(c) Copying and pasting".

Notation

The following cascade menus are displayed to specify the notation of memory values.

 

Hexadecimal

Displays memory values in hexadecimal number (default).

Signed Decimal

Displays memory values in signed decimal number.

Unsigned Decimal

Displays memory values in unsigned decimal number.

Octal

Displays memory values in octal number.

Binary

Displays memory values in binary number.

Size Notation

The following cascade menus are displayed to specify the notation of sizes of memory values.

 

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.

Values are converted depending on the endian of the target memory area.

4 Bytes

Displays memory values in 32-bit width.

Values are converted depending on the endian of the target memory area.

8 Bytes

Displays memory values in 64-bit width.

Values are converted depending on the endian of the target memory area.

Encoding

The following cascade menus are displayed to specify the display format in the character strings area.

 

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

Displays character strings in UTF-16 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

The following cascade menus are displayed to specify the display format.

 

Settings Scroll Range...

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

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

Highlights memory values that have changed by execution of a program if this item is checked (default).

This item is disabled during execution of a program.

Periodic Updating

The following cascade menus are displayed to set for the real-time display update function (see "(b) Real-time display update function").

 

Periodic Updating Options

Opens the Property panel to set for the real-time display update function.