Illegal general instructionエラーにはまる
Illegal general instructionエラーがSH2Aで発生しました。
まあ、よくあるのがRAM上に配置されたプログラムを書き換えてしまって、「暴走しちゃったのね~」
とおもい、調べるも・・・・・、ん?問題なんかない。・・・
いつもと違うな?
まあ、よくあるのがRAM上に配置されたプログラムを書き換えてしまって、「暴走しちゃったのね~」
とおもい、調べるも・・・・・、ん?問題なんかない。・・・
いつもと違うな?
発生箇所は、
【 if(curvEx > 0.5) 】
や、
【 sqrtf(cpp1_x * cpp1_x + cpp1_y * cpp1_y);】
【 if(curvEx > 0.5) 】
や、
【 sqrtf(cpp1_x * cpp1_x + cpp1_y * cpp1_y);】
最近、割り込み処理を追加したところがあったので、そこから呼び出される関数にifuncを追加したところ発生しなくなりました。(一部、付いてない関数を呼び出している箇所が存在した。)
結局悪さをしていたのは、割り込み中から呼び出される関数に、「#pragma ifunc Xxxxxx」を定義してなかったこと。
とりあえず解決したということで。
もし、 Illegal general instructionエラーが発生したら、疑ってみると幸せになれるかもしれませんね。