Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

フラッシュFITモジュールについて質問です

いつもお世話になっております。

RX231において、フラッシュFITモジュールを使用して、ファームウェアアップデートのプログラムを
作成しようとしています。

この手の書き換えソフトは作ったことがないので、的外れな質問をしているかもしれませんが、ご了承ください。

まずは、サンプルプログラム(r_flash_rx API をブロッキングモードで使用して、データフラッシュ及び、

コードフラッシュのイレーズ、ブランクチェック、プログラム)を動作させてみようと思い、
flash_demo_rskrx231 のdemoのmain.c

を自分で作成しているプログラムにいれてデバッグしたところ、
データフラッシュは イレーズ、ライト等がモニターで変化していることを確認できたのですが、
コードフラッシュが、イレーズ(R_FLASH_Erase)、ライト(R_FLASH_Write)等の関数が、
リターン値はFLASH_SUCCESS で通りますが、
モニターで確認すると値が変化していないように思います。

コードフラッシュは、
cf_driver_ram_code関数内で書き換えを行っていると思いますが、
何か原因が分かりますでしょうか。

おそらく基本的なことだと思いますが、原因が分かりません。

以下は設定済です。
FLASH_CFG_CODE_FLASH_ENABLE を 1に設定
リンカのセクションに RPFRAMを設定、コードフラッシュ領域にPFRAMはp*があるのでこちらは追加していません

リンカの出力に PFRAM = RPFRAM を追加はしました。

以下コードフラッシュ部分のソースです。(サンプルコードそのままです)

// コードフラッシュ

// Initialize data to write
for(i=0;i<sizeof(g_buf);i++)
{
g_buf[i] = (uint8_t)i; //0~255 を繰り返し、1024バイト
}

// Copy vector table to RAM if interrupts possible while erasing/writing ROM
flash_copy_vector_table();

// Open driver
err = R_FLASH_Open();
if(err != FLASH_SUCCESS)
while(1);

// ERASE,BLANK CHECK,AND WRITE A BLOCK OF CODE FLASH
cf_driver_ram_code();

 

以上、お手数をおかけしますがよろしくお願いいたします。

  • E1 のデバッグツール設定 → システム → 内蔵プログラムROMを書き換えるプログラムをデバッグするを
    はい に設定したところ、書き換わっているのが確認できました。

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page