よくある質問(FAQ)

const変数を入力変数に指定して、CSVファイルから定数値を書き換えてテストする方法

テストCSVについて

質問

定数値が決められているconst変数を入力変数に指定して、テスト毎にCSVファイルからconst値を変更してテストを行うことはできますか?

回答

可能です。通常の変数と同様に、入力変数に登録してテストデータを設定してください。

ただし、const変数は通常ROM領域(Read属性)に割り当てられるため、標準設定のままではCSVファイルからその領域に値を書き換えることができません。そのため、該当するROM領域の属性を書き込み可能(Read/Write属性)に変更する必要があります。具体的には、スタートアップコマンドファイルへ属性変更のコマンドを追加してください。

例) const 定数が割り付けられているメモリ空間が、
    0x1000 ~ 0x2000 番地としたときを想定したときのコマンド(メモリアサイン)記述例です。
    実アプリの const 定数の割り付け位置は、リンク mapファイル等でご確認ください。

     assign/read/write 0x1000:0x2000

参考

全てのメモリ領域を強制的に書き込み可能属性(Read/Write属性)に設定することも可能です。
カバレッジマスターの「起動設定」ビューにある、「全てのメモリ領域をアサイン」オプションを有効にしてください。この設定を使用する場合、前述のスタートアップコマンドファイルへの記述は不要です。

ただし、このオプションを有効にすると、マイコンの全メモリ領域にRAMを配置した状態と同等になります。そのため、プログラムの不具合に起因する以下のメモリエラーを検出できなくなる点に注意してください。
・ROM領域への不正な書き込み
・未使用アドレスへのアクセス
・NULLポインタアクセス