2.10.1.4 プログラム実行中にメモリの内容を表示/変更する

メモリ パネルウォッチ パネルでは,プログラムの実行中に,リアルタイムにメモリ/ウォッチ式の内容を表示更新,および書き換えることができるリアルタイム表示更新機能を備えています。

このリアルタイム表示更新機能を有効化することにより,プログラムが停止している状態だけでなく,実行中の状態であっても,メモリ/ウォッチ式の値の表示/変更を行うことができます。

なお,リアルタイム表示更新機能は,CPU/デバッグ・ツールが持つRRM機能(読み込み)【シミュレータ】RAMモニタ機能(読み込み)【Full-spec emulator】【E1】【E20】,およびDMM機能(書き込み)により実現され,それぞれの機能による読み込み/書き込みが可能な対象領域は異なります。

リアルタイム表示更新機能を有効にするために,プロパティ パネル[デバッグ・ツール設定]タブ上において,次の基本設定を行ってください。

表 2.7

リアルタイム表示更新機能の基本設定

カテゴリ

プロパティ

設定値

[実行中のメモリ・アクセス]

[実行中に表示更新を行う]

[はい](デフォルト)

[表示更新間隔[ms]]

100 〜65500の整数

注意 1.

ローカル変数は,リアルタイム表示更新機能の対象外です。

注意 2.

RRM機能やRAMモニタ機能で値を読み出す変数のサイズが複数バイト(2バイト/4バイト/8バイト)の場合,変数へ値を代入する処理が2回に分けて行われる場合があります。
この2回の代入処理の間で変数の読み出しが行われると,変数へ値が代入される途中の値が読み出され,実際には代入していない値が表示されることがあるため注意が必要です。

注意 3.

選択しているマイクロコントローラがマルチコア対応版の場合では,全PEのアクセスを対象に読み込み可能です。
ただし,Local RAM self領域は,現在選択しているPEのみが対象となります。

備考

メモリ パネルウォッチ パネルにおける値の書き換え方法についての詳細は,「2.10.1.3 メモリの内容を変更する」/「2.10.6.6 ウォッチ式の内容を変更する」を参照してください。

(1)

RRM機能(読み込み)【シミュレータ】

プログラム実行中に,リアルタイムにメモリ/ウォッチ式の内容を読み込む機能です。

この領域に割り当てられているメモリ/ウォッチ式は,常にリアルタイムな表示が可能です。

RRM機能による読み込みが可能な領域は次のとおりです。

表 2.8

RRM機能の対象領域

対象領域

シミュレータ

内蔵ROM

内蔵RAM

周辺I/O領域

データフラッシュ

エミュレーション・メモリ

ターゲット・メモリ

CPUレジスタ

 ○

I/Oレジスタ
(読み込み保護対象IORを除く)

トレーサ/タイマ動作中は不可

(2)

RAMモニタ機能(読み込み)【Full-spec emulator】【E1】【E20】

CPUのRAMモニタ機能を使用してメモリ/ウォッチ式の内容を読み込む機能です。

RAMモニタ機能による読み込みが可能な領域は次のとおりです。

注意

CPUステータスがスタンバイ・モード(HALT/STOP/IDLE)に移行すると,タイムアウト・エラーを発生します。

表 2.9

RAMモニタ機能の対象領域

対象領域

Full-spec emulator

E1/E20

内部ROM

内部RAM

周辺I/O領域

データフラッシュ

ターゲット・メモリ

CPUレジスタ

I/Oレジスタ

 

ただし,RAMモニタ機能を有効にするためには,リアルタイム表示更新機能の基本設定に加え,次の設定が必要となります。

デバッグ・ツール

カテゴリ

プロパティ

設定値

Full-spec emulator

[実行中のメモリ・アクセス]

[実行中にアクセスする]

[はい]

E1/E20

(3)

DMM機能(書き込み)

プログラム実行中に,リアルタイムにメモリ/ウォッチ式に値を書き込む機能です。

DMM機能による書き込みが可能な領域は次のとおりです。

注意 1.

DMM機能を使用して書き込みを行った場合のアトミック性の保証はありません。

注意 2.

CPUステータスがスタンバイ・モード(HALT/STOP/IDLE)に移行すると,タイムアウト・エラーを発生します。

表 2.10

DMM機能の対象領域

対象領域

Full-spec emulator

E1/E20

シミュレータ

内部ROM

内部RAM

周辺I/O領域

エミュレーション・メモリ

ターゲット・メモリ

CPUレジスタ

 ○

I/Oレジスタ
(読み込み保護対象IORを除く)

トレーサ/タイマ動作中は不可

 

ただし,DMM機能を有効にするためには,リアルタイム表示更新機能の基本設定に加え,次の設定が必要となります。

デバッグ・ツール

カテゴリ

プロパティ

設定値

Full-spec emulator
E1/E20

[実行中のメモリ・アクセス]

[実行中にアクセスする]

[はい]

シミュレータ

設定不要

 

なお,リアルタイム表示更新機能を行っているメモリ値/ウォッチ式は,メモリ パネルウォッチ パネルにおいてピンク色に強調表示されます。

図 2.95

リアルタイム表示更新を行っているメモリ表示の例(メモリ パネル)