エンベデッドシステムスペシャリスト 2024年 午前2 問18
問題文
組込みソフトウェア開発のデバッグツールに関する説明のうち、適切なものはどれか。
選択肢
ア:ICE(In-Circuit Emulator)は、ターゲットシステムのROMにデバッガエージェントを内蔵し、ホストコンピュータからターゲットシステムを制御する。
イ:JTAGエミュレーターは、ホストコンピュータからレジスタやメモリの内容を読み書きすることはできない。
ウ:オシロスコープは、信号の波形を見ることができるので、タイミングの検証やリアルタイム性の検証に用いることができる。(正解)
エ:ロジックアナライザーは、デバイスの1端子だけを計測するためのツールである。
🔒 解説は解答すると表示されます
組込みデバッグツール【午前2解説】
正解の理由
ウが適切です。オシロスコープは、電圧などの時間変化を波形として表示する測定器です。信号の立上り・立下りや周期、遅延などを確認できるため、タイミングの検証に使えます。また、イベントの発生時刻や処理時間を測ることで、リアルタイム性の検証にも役立ちます。
解法ステップ
- 各ツールが「何を観測・制御するものか」を確認します。
- ICEやJTAGエミュレーターは、CPUやデバッグ用インターフェースを通じてターゲットをデバッグするツールです。
- オシロスコープは信号の波形、ロジックアナライザーは複数のデジタル信号の論理状態やタイミングを調べるツールです。
- 用途と説明が一致している選択肢を選びます。
選択肢別の誤答解説
- ア:ICEは、ターゲットのCPUを置き換えるエミュレーション用ハードウェアなどを使い、ホストコンピュータからプログラムの実行状態を調べたり制御したりするツールです。「ターゲットシステムのROMにデバッガエージェントを内蔵する」という説明は、ICEの説明として適切ではありません。
- イ:JTAGエミュレーターは、JTAGインターフェースを利用してターゲットをデバッグするツールです。対応するCPUや環境であれば、ホストコンピュータからレジスタやメモリの内容を読み書きできます。「できない」とする説明が誤りです。
- ウ:オシロスコープで信号の波形を観測し、タイミングや処理時間を確認できます。説明は適切です。
- エ:ロジックアナライザーは、複数のデジタル信号を同時に観測し、論理状態や信号間のタイミングを調べるツールです。「デバイスの1端子だけを計測する」という説明は誤りです。
よくある誤解
- オシロスコープとロジックアナライザーを、どちらも単に「波形を見る機器」として混同しがちです。オシロスコープは電圧などの波形を、ロジックアナライザーは主にデジタル信号の論理状態やタイミングを確認します。
- JTAGエミュレーターはプログラムを書き込むためだけの装置だと思いがちです。デバッグ時には、レジスタやメモリの確認・操作にも利用できます。
- ICEと、ROMにデバッガ用プログラムを置く方式を混同しがちです。ICEはCPUの動作をエミュレートする仕組みを用いるデバッグツールです。
補足コラム
リアルタイム性の検証では、処理が正しいだけでなく、決められた時間内に完了することも確かめます。たとえば、GPIO端子の出力変化をオシロスコープで測定すれば、割込み発生から出力までの遅延や、処理の実行時間を確認できます。複数の信号の前後関係を調べる場合は、ロジックアナライザーも有効です。
FAQ
Q. オシロスコープだけで、プログラムの動作をデバッグできますか?
A. オシロスコープは、端子に現れる信号の時間変化を観測する機器です。プログラム内部の変数や実行位置を調べる用途には、ICEやJTAGエミュレーターなどを使います。
A. オシロスコープは、端子に現れる信号の時間変化を観測する機器です。プログラム内部の変数や実行位置を調べる用途には、ICEやJTAGエミュレーターなどを使います。
Q. ロジックアナライザーとオシロスコープは、どちらを使えばよいですか?
A. 電圧波形の形状や電圧レベルの変化を詳しく見たい場合はオシロスコープ、複数のデジタル信号の論理状態や信号間のタイミングを確認したい場合はロジックアナライザーが適しています。
A. 電圧波形の形状や電圧レベルの変化を詳しく見たい場合はオシロスコープ、複数のデジタル信号の論理状態や信号間のタイミングを確認したい場合はロジックアナライザーが適しています。
関連キーワード: ICE、JTAGエミュレーター、オシロスコープ、ロジックアナライザー、リアルタイム性、デバッグ工具

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

