よくある質問(FAQ)

割り込みハンドラを単体テスト対象にしたいのですが、どのようにすれば良いですか?

テスト対象について

質問

割り込みハンドラの関数をテスト対象として指定しましたが、カバレッジマスターのシミュレーションが終了せず、結果が出力されません。どのようにすれば良いですか?

回答

カバレッジマスターwinAMS では、検証対象とする関数にはリターン命令が含まれている事が必要です。割り込みハンドラにはこれが含まれず、引数の渡し方も通常の関数と異なるため、検証対象とすることはできません。テストを行うためには、割り込み関数宣言を外して再コンパイルを行い、一般関数同じオブジェクト構造にする必要があります。
例えば、割り込みハンドラが

__interrupt void irq_handler()
で定義されている場合、

#define __interrupt
をヘッダファイル等に追加することで、__interrupt部分を無効化することができます。この上で再コンパイルしてください。