RAMモニタ

RAMモニタとは、組込みソフトウェア開発においてプログラム内部の動的検証に役立つ強力な組込みソフトウェア開発支援ツールです。
ユーザプログラム実行中でもプログラムの複数の変数をRAMデータからモニタリングし、トーレスすることでプログラムのデータフローや振る舞いなどの機能検証が可能になります。
こちらのページでは、RAMモニタとデバッガの違いや、RAMモニタの有用性などをご紹介します。

MP-R1

 

RAMモニタのご紹介

RAMモニタとは?

RAMモニタとは、マイコンのRAMの値をモニタリングする組込みソフトウェア開発支援ツールです。

通常、デバッガなどで組込みプログラムの変数等を参照する場合は、実行中のプログラムを一旦ブレークしながら値を取って来る作業が必要になります。それに対してRAMモニタは、マイコンで実行中のプログラムをブレークすることなく変数が格納されるRAMデータをモニタリングできることが特長です。
RAMモニタならばプログラム動作に影響を与えずに複数のRAMデータをリアルタイムにモニタすることが可能です。

 

デバッガとRAMモニタ比較

 

RAMモニタはなぜ重要か?デバッガとの違いは?

デバッガとRAMモニタの役割の違いはどのようなものでしょうか。
また、RAMモニタが得意なことやRAMモニタが活躍する場面はどこでしょうか。

デバッガはアルゴリズムをテストする

デバッガは単一、数個の変数をみるのは得意で、プログラムを止めながらアルゴリズムを検証することが可能です。
反面、多くの変数を時系列に見ていくことはデバッガにはできません。
デバッガは、たくさんのデータを使って依存関係を見ることは苦手です。

RAMモニタはデータフローを検証テストする

RAMモニタは、プログラムの動的な機能検証を目的に使用されます。
RAMモニタは内部変数だけではなく、入力データ、出力データの推移など、入出力するデータをオシロスコープと同じように検証することが可能です。
また、複数のデータを同時にモニタリングすることで、関連する機能の動作検証に役立ちます。

 

MicroPeckerコラム

プログラム実行中のデータの流れが設計通りになっているかを検証する際に、入力データを様々に変更して調整をする場面ではデバッガは向いていません。

例えば、モータを回している最中にデバッグのためにプログラムを突然止めると、モータは制御から離れて暴走する恐れがあります。
デバッガではプログラム処理が動いたり、動かなかったりするために一連の動的検証が難しくなります。
つまり、デバッガではデータフローを検証するためにもアルゴリズムが停止することになります。

Motor

一方、RAMモニタの一番の特長はプログラムを止めないことです。
RAMモニタは最終的なプログラムの状態での動作検証が可能です。

昔は、マイコンから空いてる端子を出してRAMデータを参照するなどもしていましたが、近年では参照するアドレス点数が増えたため出来なくなってきています。
また、RAMデータをモニタリングするためにはユーザプログラムにモニタ用のデバッグプログラムを入れるなど、手を加える必要がありました。
デバックプログラムの状態で動いていたものが、RAMモニタのためのモニタ用プログラムを外すと動かなくなるなんてこともあるかもしれません。

 

RAMモニタは開発プロセスのどこで使用するか?

RAMモニタは組込みソフトウェア開発におけるVモデル開発プロセスの右側を網羅するデータ検証ツールになります。

ソフトウェア開発プロセスの単体テスト、機能テスト、システムテストの各開発フェーズの中で、動的な状態でプログラム検証するためにはRAMモニタが必要になります。
また、動的検証の結果をRAMモニタのロギングファイルとして残すことで検証結果のエビデンスとなります。

Vモデル開発でのRAMモニタ適用範囲

 

組込み開発環境の変化によるRAMモニタの必要性

組込みソフトウェア開発において成果物の信頼性が求められるところでは、設計通りにできているのか、信頼性の検証やその証明のためのエビデンスを残すことが必要になってきます。
これはデバッガだけでは十分でなく、RAMモニタによる検証テストが必要になります。

RAMモニタは、実行中プログラムのデータがどのように変わったのかをログファイルからトレースが可能なので、検証結果のエビデンスを残すことに最適なツールになります。

自動車向けの車載ECU開発では、ISO26262の発行により機能検証のエビデンスが一層重要になってきています。
このような環境の中でRAMモニタが果たす役割は大きく、車載ECU開発では必須のツールとなってきています。

 

MicroPeckerコラム

モデルベース開発が導入されることによって、アルゴリズムの検証は、設計段階で可能になってきています。

昨今の組込みソフトウェア開発では、プログラムデバッグ段階でもアルゴリズムを検証する作業だけでなく、データの流れやデータ検証を重要視するようにシフトしてきています。

 

サニー技研のRAMモニタの特長

サニー技研のRAMモニタは、車載向けマイコンに搭載されているデバッグインターフェイスを利用してRAMデータをモニタリングしているため、ユーザプログラム側にRAMデータを吐き出すモニタリング用のソフトを組み込む必要がありません。
そのため、モニタリングのためのメモリ占有もなく、実行中プログラムに対してマイコンのリソースに負荷をかけずにリアルタイムなRAMモニタリングを実現します。

RAMモニタは、実行中プログラムの変数値、入力値、出力値などがモニタリング可能になることで、プログラム内の入出力といったデータフローの検証に役立ちます。

サニー技研のRAMモニタは、ルネサスエレクトロニクス製コンパイラHEWや、GreenHillsコンパイラが生成するマップファイルを読込み、シンボルによるアドレス設定が可能なので、参照するデータアドレスの設定にも迷うことはありません。
参照するRAMデータはリアルタイムにグラフ表示が可能なので、オシロスコープのように複数のデータの動きを視覚的に参照することもできます。

また、サニー技研のMicroPecker RAMモニタは、プログラム実行中でも任意のRAMアドレスに対してユーザ指定値への書き換えが可能です。
車載ECU開発の場面では、「適合」と呼ばれる最終的なパラメータ調整が行われます。プログラム実行中にパラメータテーブルを書き換えて機能調整に使われます。

サニー技研のMicroPecker RAMモニタは、付属のGUIアプリケーションからボタンひとつでRAMデータの書き換えが可能です。

RAMモニタイメージ

 

サニー技研RAMモニタ製品ラインナップ

MicroPecker ECU適合RAMモニタ for Highspeed Single Wire 《S810-MP-R1》

MP-R1

ルネサスエレクトロニクス製NSD一線式デバッグインターフェイス搭載32bitマイコンに対応したリアルタイムRAMモニタです。

マイコンのデバッグインターフェイスに接続することで、プログラム実行中のマイコンに負荷をかけずにリアルタイムにマイコンからのRAMデータのモニタリング、ロギングが可能です。
また、プログラム実行中に、任意のアドレスのRAM値の読み出し、書き換えが可能であるため、プログラム実行を止められない状態でのデバッグ、パラメータ適合に最適です。

オプション製品のインターフェイス変換ユニットを装着することで、AUD、NBD、N-Wireなど各種デバッグインターフェイス搭載マイコンにも対応します。

 

対応マイコン デバッグI/F オプションユニット 製品型名
Renesas Electronics製
SH7047, SH7050, SH7147,
SH72Ax, SH7450
AUD NSD◆AUD変換ユニット S810-MP-EX1
Renesas Electronics製
V850E/PG2
NBD NSD◆NBD変換ユニット S810-MP-EX4
Renesas Electronics製
V850E2/Fx4, V850E2/PJ4,
RH850/C1x, RH850/P1M,
RH850/F1K, RH850/F1L
N-Wire NSD◆N-Wire変換ユニット S810-MP-EX5
Renesas Electronics製
RL78/F13, RL78/F14, RL78/F15, RL78/F23, RL78/F24
OCD NSD◆OCD(RL78)変換ユニット S810-MP-EX6
OCD, OCD+CSI NSD◆RL78(OCD+CSI)変換ユニット S810-MP-EX6-CSI
NXP Semiconductors製
MPC564xA, MPC5777M
Nexus Nexus変換ユニット S810-MP-EX7
NXP Semiconductors製
S12ZVx
BDM BDM変換ユニット S810-MP-EX8
Infineon Technology製 AURIX TC3xx Series
TC332, TC333, TC334, TC336, TC337, TC356,
TC357, TC364, TC365, TC366, TC367, TC375,
TC377, TC387, TC389, TC397, TC3E7
JTAG for AURIX JTAG for AURIX変換ユニット S810-MP-EX9

 

MicroPecker ECU適合RAMモニタ for Highspeed Single Wire 《S810-MP-R1》

MicroPecker ECU適合RAMモニタ for Highspeed Single Wireの詳細はこちらのページをご覧ください。

 

MicroPecker ECU適合RAMモニタ for Renesas OCD 《S810-MP-R2》

MP-R2

ルネサスエレクトロニクス製OCDインターフェイス搭載16bitマイコンに対応したリアルタイムRAMモニタです。

マイコンのOCDインターフェイスを利用することにより、RAMモニタ用の常駐プログラムは不要なのでローエンド・マイコンでもマイコンに余計な負荷をかけずリアルタイムにRAMデータのモニタリング、ロギングが可能です。

プログラム実行中に、任意のアドレスのRAM値の読み出し、書き換えが可能であるため、プログラム実行を止められない状態でのデバッグ、パラメータ適合に最適です。

 

MicroPecker RAMモニタ for Renesas OCD《S810-MP-R2》は、使用部品の生産中止に伴い、2024年3月末で販売を終了させていただきます。長らくご愛顧いただき、誠にありがとうございました。

製品保守(修理)サポートにつきましては、2025年3月末で終了とさせていただきます。
尚、保守部品が無くなり次第、製品保守(修理)サポートを早期に終了させていただきますので、何卒ご了承ください。

デバッグI/F 対応マイコン
OCD ルネサスエレクトロニクス製マイコン
R8C/32, R8C/33, R8C/34, R8C/54, R8C/56, M16C/5M, M16C/5L

 

MicroPecker RAMモニタ for Renesas OCD 《S810-MP-R2》

MicroPecker ECU適合RAMモニタ for Renesas OCDの詳細はこちらのページをご覧ください 。

 

MicroPecker ECU適合RAMモニタ for JPwire 《S810-MP-R3》

MP-R3

1線式デバッグインターフェイスのJPwire搭載マイコンに対応したリアルタイムRAMモニタです。

車載電子制御システム標準化団体のJasParが策定した1線式標準インターフェースを利用することにより、マイコンに余計な負荷をかけずリアルタイムにRAMデータのモニタリング、ロギングが可能です。

プログラム実行中に、任意のアドレスのRAM値の読み出し、書き換えが可能であるため、プログラム実行を止められない状態でのデバッグ、パラメータ適合に最適です。

 

デバッグI/F 対応マイコン
JPwire Infineon Technology製マイコン
FR81S MB91520シリーズ, FR81S MB91580Mシリーズ, FR81S MB91580Sシリーズ

 

MicroPecker RAMモニタ for JPwire 《S810-MP-R3》

MicroPecker ECU適合RAMモニタ for JPwireの詳細はこちらのページをご覧ください 。