RAMモニタとは、組込みソフトウェア開発においてプログラム内部の動的検証に役立つ強力な組込みソフトウェア開発支援ツールです。
ユーザプログラム実行中でもプログラムの複数の変数をRAMデータからモニタリングし、トーレスすることでプログラムのデータフローや振る舞いなどの機能検証が可能になります。
こちらのページでは、RAMモニタとデバッガの違いや、RAMモニタの有用性などをご紹介します。
RAMモニタのご紹介
RAMモニタとは?
RAMモニタとは、マイコンのRAMの値をモニタリングする組込みソフトウェア開発支援ツールです。
通常、デバッガなどで組込みプログラムの変数等を参照する場合は、実行中のプログラムを一旦ブレークしながら値を取って来る作業が必要になります。それに対してRAMモニタは、マイコンで実行中のプログラムをブレークすることなく変数が格納されるRAMデータをモニタリングできることが特長です。
RAMモニタならばプログラム動作に影響を与えずに複数のRAMデータをリアルタイムにモニタすることが可能です。
RAMモニタはなぜ重要か?デバッガとの違いは?
デバッガとRAMモニタの役割の違いはどのようなものでしょうか。
また、RAMモニタが得意なことやRAMモニタが活躍する場面はどこでしょうか。
デバッガはアルゴリズムをテストする
デバッガは単一、数個の変数をみるのは得意で、プログラムを止めながらアルゴリズムを検証することが可能です。
反面、多くの変数を時系列に見ていくことはデバッガにはできません。
デバッガは、たくさんのデータを使って依存関係を見ることは苦手です。
RAMモニタはデータフローを検証テストする
RAMモニタは、プログラムの動的な機能検証を目的に使用されます。
RAMモニタは内部変数だけではなく、入力データ、出力データの推移など、入出力するデータをオシロスコープと同じように検証することが可能です。
また、複数のデータを同時にモニタリングすることで、関連する機能の動作検証に役立ちます。
プログラム実行中のデータの流れが設計通りになっているかを検証する際に、入力データを様々に変更して調整をする場面ではデバッガは向いていません。
例えば、モータを回している最中にデバッグのためにプログラムを突然止めると、モータは制御から離れて暴走する恐れがあります。
デバッガではプログラム処理が動いたり、動かなかったりするために一連の動的検証が難しくなります。
つまり、デバッガではデータフローを検証するためにもアルゴリズムが停止することになります。
一方、RAMモニタの一番の特長はプログラムを止めないことです。
RAMモニタは最終的なプログラムの状態での動作検証が可能です。
昔は、マイコンから空いてる端子を出してRAMデータを参照するなどもしていましたが、近年では参照するアドレス点数が増えたため出来なくなってきています。
また、RAMデータをモニタリングするためにはユーザプログラムにモニタ用のデバッグプログラムを入れるなど、手を加える必要がありました。
デバックプログラムの状態で動いていたものが、RAMモニタのためのモニタ用プログラムを外すと動かなくなるなんてこともあるかもしれません。
RAMモニタは開発プロセスのどこで使用するか?
RAMモニタは組込みソフトウェア開発におけるVモデル開発プロセスの右側を網羅するデータ検証ツールになります。
ソフトウェア開発プロセスの単体テスト、機能テスト、システムテストの各開発フェーズの中で、動的な状態でプログラム検証するためにはRAMモニタが必要になります。
また、動的検証の結果をRAMモニタのロギングファイルとして残すことで検証結果のエビデンスとなります。
組込み開発環境の変化によるRAMモニタの必要性
組込みソフトウェア開発において成果物の信頼性が求められるところでは、設計通りにできているのか、信頼性の検証やその証明のためのエビデンスを残すことが必要になってきます。
これはデバッガだけでは十分でなく、RAMモニタによる検証テストが必要になります。
RAMモニタは、実行中プログラムのデータがどのように変わったのかをログファイルからトレースが可能なので、検証結果のエビデンスを残すことに最適なツールになります。
自動車向けの車載ECU開発では、ISO26262の発行により機能検証のエビデンスが一層重要になってきています。
このような環境の中でRAMモニタが果たす役割は大きく、車載ECU開発では必須のツールとなってきています。
モデルベース開発が導入されることによって、アルゴリズムの検証は、設計段階で可能になってきています。
昨今の組込みソフトウェア開発では、プログラムデバッグ段階でもアルゴリズムを検証する作業だけでなく、データの流れやデータ検証を重要視するようにシフトしてきています。
サニー技研のRAMモニタの特長
サニー技研のRAMモニタは、車載向けマイコンに搭載されているデバッグインターフェイスを利用してRAMデータをモニタリングしているため、ユーザプログラム側にRAMデータを吐き出すモニタリング用のソフトを組み込む必要がありません。
そのため、モニタリングのためのメモリ占有もなく、実行中プログラムに対してマイコンのリソースに負荷をかけずにリアルタイムなRAMモニタリングを実現します。
RAMモニタは、実行中プログラムの変数値、入力値、出力値などがモニタリング可能になることで、プログラム内の入出力といったデータフローの検証に役立ちます。
サニー技研のRAMモニタは、ルネサスエレクトロニクス製コンパイラHEWや、GreenHillsコンパイラが生成するマップファイルを読込み、シンボルによるアドレス設定が可能なので、参照するデータアドレスの設定にも迷うことはありません。
参照するRAMデータはリアルタイムにグラフ表示が可能なので、オシロスコープのように複数のデータの動きを視覚的に参照することもできます。
また、サニー技研のMicroPecker RAMモニタは、プログラム実行中でも任意のRAMアドレスに対してユーザ指定値への書き換えが可能です。
車載ECU開発の場面では、「適合」と呼ばれる最終的なパラメータ調整が行われます。プログラム実行中にパラメータテーブルを書き換えて機能調整に使われます。
サニー技研のMicroPecker RAMモニタは、付属のGUIアプリケーションからボタンひとつでRAMデータの書き換えが可能です。
サニー技研RAMモニタ製品ラインナップ
MicroPecker ECU適合RAMモニタ for Highspeed Single Wire 《S810-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》
ルネサスエレクトロニクス製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》
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の詳細はこちらのページをご覧ください 。