【対象機種】
adviceLUNA, adviceLUNA2
【適用範囲】
SLX600, SLX603, SLX604, SLX605, SLX620, SLX621, SLX622, SLX623, SLX624,
SLX670, SLX674, SLX680, SLX683, SLX684, SLX685, SLX686, SLX687
S2X600, S2X603,
【エラーメッセージ】
ICE Error No.930: Illegal Break Code
* 異常ブレーク発生
【原因】
ソフトウェアブレーク点を設定していないアドレスでブレークしたときに表示するエラーです。
ICEではソフトウェアブレーク機能をBKPTコードや未定義コードを使用して実現しており、プログラムの命令コードでBKPTコードや未定義コードを使用している場合は、該当のアドレスをフェッチした際に、デバッガが管理していないブレークポイントと判断されて本エラーが発生します。
また、プログラムの暴走によりプログラムコードが存在しないアドレスに分岐した場合に発生することがあります。
【解決策】
1). 本エラーによりブレークが発生したアドレスの命令コードが、BKPTコードや未定義コードとなっていないかご確認ください。
2). プログラムの暴走によりプログラムが存在しないアドレスを実行していないかご確認ください。
【補足説明】
ARM7/ARM9系では、ソフトウェアブレーク専用の命令コードをデバッガの設定により指定していますが、ソフトウェアブレークコードのデフォルト値として、0x00000000(ARM)/0x0000(Thumb)を使用しています。このコードを実行するプログラムで使用している場合、本エラーとなりますので、別の命令コードに変更する必要があります。
[MPU]-[MPU固有設定]-[OCD]タブより「ソフトウェアブレーク命令コード」として指定されたコードが、デバッガが管理するソフトウェアブレーク専用の命令コードとなりますので、ここで設定される命令コードとプログラムが使用する命令コードが一致しない事をご確認ください。
ARM11/Cortex系ではBKPT命令固定となりますので、デバッガからの選択肢はありません。
BKPT命令の命令コードは以下となりますので、プログラムが使用する命令コードが一致しない事をご確認ください。
<BKPT命令コード>
ARMステート : 0xE120007F
THUMBステート : 0xBE00