先日、首題のブートローダーでお世話になったものです。
ご多忙のところ申し訳ございませんが、お知恵を貸して頂きたい内容が御座います。
USBホストフラッシュブートローダー自体のプロジェクト構成や書き込み処理については、先日のご指導もありまして構築ができております。
但し、実際に書き換えしたいmotファイルを「download.mot」という指定ファイル名にてUSBから書き換えしようとしますと、
以下R_Fl_Error(ERROR_PROGRAM_ADDRESS)にてアドレス範囲のエラーとなってしまいます。
ファイル名: r_Flash_main.c
static Fl_API_SMPL_rtn_t R_Fl_Prg_WriteData(void)
{
/* **** Base address Check **** */ if((fl_writing_data.addr < FL_START_WRITE_ADDRESS) || (fl_writing_data.addr > ( FL_END_WRITE_ADDRESS - 0x0FF))){ /* error */ R_Fl_Error(ERROR_PROGRAM_ADDRESS); }
以下記述省略
}
こちらでは、fl_writing_data.addrが、0xfffc0000から256byteずつ増加していくのをデバッグにて確認。
0xFFFD7E00になると、次のループでアドレス番地が0xFFFE3F00となり、書き込み終端アドレスが格納されています。
更に次のループでエラー分岐に入り、アドレス範囲エラーとなってしまい、LED表示としては点滅状態になります、
プログラム容量は書き込み可能サイズ内であり、アドレス範囲が逸脱する原因を探っていますが、
特定ができておらず、どの様な原因が考えられますでしょうか?
開発環境:CS+ CC-RL
CPU :RX621 ROM256Kbyte
ICE :E1
書き込み対象プログラム容量:95Kbyte(mapファイルで表示させたROM容量から記載)
今回、製品のプログラムになるため、motファイルやmapファイルをネットワーク上に添付送信する事ができません、、、
勝手を申し上げますが、宜しくお願い致します。