ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

ツール起動・スタートアップに関する問題

011_02 : 「テスト設定」ビューにある「初期設定終了アドレス」とは何ですか?

【質問】
「テスト設定」ビューにある「初期設定終了アドレス」とは何ですか?デフォルトでは「main+0x0」が設定されていますが、これを変更する必要はあるのは、どのような場合ですか?

【回答】
(参考)マイコンリセットから単体テストへの動作 : カバレッジマスターwinAMSチュートリアル (P16から抜粋)

カバレッジマスターwinAMS は、組込みマイコンの命令コードを実行するシミュレータ(System Simulator)を使用して、テスト対象の関数を実行します。この動作は、評価ボード上に実装したマイコンチップで動作させるのと同じ原理です。

通常、マイコンシステムは、電源投入時にハードウエアリセットがかかると、リセットベクタ(開始アドレス)にプログラムカウンタ(PC)がセットされ、動作が始まります。プログラムの先頭には、「スタートアップルーチン」と呼ばれるマイコン機能の初期化プログラムがあり、ここを実行して、スタックポインタ設定やマイコンレジスタの初期化など、マイコンが動作するのに必要な設定が行われます。

スタートアップルーチンの実行の最後に、C言語のmain()関数へのジャンプ命令が実行され、アプリケーション実行のフェーズに移るのが、一般的なマイコンシステムです。
カバレッジマスターで単体テストを行う際は、まず最初に、このスタートアップルーチンを実行してシミュレータのスタックポインタやレジスタを設定します。スタートアップルーチンが終了して、main()関数へ移動した際に、アプリケーション実行のフェーズには移らず、シミュレータが強制的にプログラムカウンタを評価対象の関数へセットして、単体
テストのフェーズへ移るようになっています。

「テスト設定」の項目にある、「初期設定終了アドレス」は、単体テストへの分岐点となるアドレスを設定するためのものです。通常はmain()関数のアドレスを指定しますが、特殊な事情で、スタートアップルーチンの終了を他のアドレスに設定したい場合は、ここを利用できます。また、main関数の名称が異なる場合は、変更する必要があります。

単体テストのフェーズに入った後は、CSV ファイルからテストデータを変数にセットした後、テスト対象の関数を実行します。複数のテストデータがある場合は、このテストデータセットと関数実行を繰り返します。



(参考FAQ:) 011_01 : 初期設定終了アドレスのオフセットは何を意味するのでしょうか?

 

関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: 初期設定終了アドレス

他のキーワード検索



参考情報・リンク