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

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

シミュレータ実行に関する問題

A01_02 :シミュレータを起動時にmemory is not assigned on the addressのエラーで動作が止まります。

【質問】
カバレッジマスターでテスト実行のために「シミュレータ起動」ボタンを押すと、マイコンシミュレータ(System-G)のアウトプットウインドウに「memory is not assigned on the address」が表示され、動作が止まります。この原因は何でしょうか?

例1)
Invalid address found [code = 18] (pc=********)
%SYSTEMG-E-SEM, stopped simulation (status code = 12h)
`MEM::********'

例2)
%SYSTEMG-E-SEM, memory is not assigned on the address
`MEM::******'



【回答】
直接的にはシミュレータでアサインされていないメモリ領域へのアクセスが発生したことを示しています。その要因としては2つの可能性があります。

1) 本来アクセスすべき(正しい)メモリ領域がアサインされていない。
2) プログラムが暴走して想定外のメモリ領域に対するアクセスが発生した。

1) プログラムの中で領域定義した変数、定数や、プログラム領域の属性は、オブジェクトコードのデバッグ情報にあるメモリマップ情報を基に自動的にアサインされます。そのため、これらの領域をアクセスしている限りは、上記のメモリアサインエラーが発生することはありません。エラーの発生する主な原因は、プログラムで定義していない領域(スタック領域、I/O レジスタ等)へのアクセスでエラーが発生するケースです。

このエラーが発生する場合は、スタートアップコマンドファイルに記述するシミュレータマクロを使用して、H/W仕様に合わせたメモリ属性を正しくアサインするか、「起動設定」画面の「全てのメモリ領域をアサイン」(全領域がread/write/exec属性になります)をONにする事で回避できます。

詳細は、「メモリアサインエラーの対処方法v2.0.pdf」をご参照ください。


2) この場合はプログラム暴走の原因を調査する必要があります。 下記方法でログを取得の上で、弊社サポート窓口にお問い合せ下さい。

[FAQ] 000_01: シミュレータがエラーで止まってしまいます。エラーの原因を調査するために、動作状態をログに出力して確認する方法はありませんか?

関連サポート情報検索

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

検索キーワード: メモリアサイン | memory is not assigned on the address

他のキーワード検索


参考情報・リンク