割り込み関数のアドレスをRAM上に指定出来ません。

はじめまして、ひろきと申します。

RL78のセルフプログラミング中の割り込みに関してご教示下さい。

FSLを利用してセルフプログラミングの設計を行っております。

FSL_ChangeInterruptTableを使用してセルフプログラミング中の割り込み関数の飛び先をRAM上のアドレスにセットしました。

すると、1回だけコールされて以降コールされることはありませんでした。

以前のかふぇルネの投稿履歴を見ましたら、

FSL_ChangeInterruptTableでRAM上に宣言する関数は#pragma interruptを使用して割り込み関数と認識させる必要があると知りました。

RAM上に宣言する関数をふつうの関数でなく、使用していなかった割り込み関数を指定することにしました。

しかし、以下のようなコンパイルエラーが発生してしまいました。

(E) E0562135 E0562135:Interrupt table address "0x4e" has invalid interrupt jump address : "_vint_INT8" MC200_RL78.mtpj

_vint_INT8は割り込み関数の関数名になります。

コンパイラで_vint_INT8のアドレスを「ROMからRAMへマッピングするセクション」でRAM上のアドレスになるように設定しています。

コンパイラで_vint_INT8のアドレスを「ROMからRAMへマッピングするセクション」でRAM上のアドレスにならないように設定すると、

エラーは解除されます。

どうすればセルフプログラミング中にコールする割り込み関数のアドレスをRAM上に指定することが出来ますでしょうか。

使用しているマイコンはR5F100GKGFBになります。

RAMの飛び先は0xFFB00に指定したいのでFSL_ChangeInterruptTable( 0xfb00 );と記載しています。

以上、よろしくお願い致します。