シミュレーション実行中に「execute protection error」エラーが発生しました。原因と回避策を教えてください。
■エラー内容
%SYSTEMG-E-SEM, execute protection error
よくある質問(FAQ)
シミュレーション実行中に「execute protection error」エラーが発生しました。原因と回避策を教えてください。
■エラー内容
%SYSTEMG-E-SEM, execute protection error
本エラーは、プログラムコードが割り当てられていないメモリ領域を実行したとき発生します。エラーの発生原因としては 下記の可能性があります。
原因の特定については、どの様な実行経路を経てエラーに至ったのか? トレース情報から判断する必要があります。
※トレース情報の採取方法について 詳細はこちら
・「シミュレーション実行開始アドレス」が正しくない
・「プログラムコード領域外」を実行しようとした
■回避策
①「シミュレーション実行開始アドレス」が正しくない
スタートアップコマンドファイル (SS_STARTUP.txt) へ下記のコマンドを追加して、「シミュレーション実行開始アドレス」を 正しい (例: スタートアップルーチン) アドレスへ変更します。
--[追加コマンド]--------------------------------------
set reg pc = スタートアップルーチンのアドレス
例: set reg pc = _start
-------------------------------------------------
②「プログラムコード領域外」を実行しようとした
一般的に考えられる原因としては、下記 (a~c) が挙げられます。原因毎の対策 (例: プログラムの修正、テストデータの変更) を行う必要があります。
※ 原因が特定できないとき (又は 対策方法が不明なとき) は「ユーザサポート」へお問い合わせください。
(a) 関数ポインタのアドレスが設定されていない。
(b) 例外(例:システム例外、演算例外等)割り込みが発生した。
(c) プログラムの不正動作でプログラムコード領域外を実行した。