デュアルバンク機能時の割り込み処理について

RX65N(2MB)で、FIT(r_flash_rx)を使用してコードフラッシュの書き換え機能を実装しています。

デュアルバンク機能を用いて、非動作バンクへ書き込む処理をしていますが、

フラッシュのアクセス時に、割り込みが発生するとプログラムが停止してしまいます。

当該箇所を割り込み禁止にすることで期待する処理は実装できるのですが、デュアルバンク機能では

割り込み処理をRAMに置く必要がないという認識でしたので、納得がいっておりません。

この認識は間違っているのでしょうか?

また、デュアルバンクなら動作バンクのフェッチが可能だと思うのですが、r_flash_rx の一部の関数を

RAMに配置する必要があるのは何故なのでしょうか?

Parents
  • こんにちは。NoMaYです。

    > オプション設定メモリを書き換える際はRAM実行が必要

    次に、ユーザーズマニュアル ハードウェア編を確認してみると、フラッシュアクセスウィンドウ設定レジスタ(FAW)は
    オプション設定メモリ(OFSM)に配置されていることが分かりましたので、RAM実行が必要である、ということですね。

    RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編
    R01UH0590JJ0230 Rev.2.30 Pages 2763 2019.06.20
    www.renesas.com/jp/ja/document/mah/rx65n-group-rx651-group-users-manualhardware-rev230

    7. オプション設定メモリ(OFSM)

    7.1 概要

    オプション設定メモリ(OFSM) は、以下に示すレジスタの総称です。

    ・ シリアルプログラマコマンド制御レジスタ(SPCC)
    ・ OCD/ シリアルプログラマID 設定レジスタ(OSIS)
    ・ オプション機能選択レジスタ0(OFS0)
    ・ オプション機能選択レジスタ1(OFS1)
    ・ エンディアン選択レジスタ(MDE)
    ・ TM イネーブルフラグレジスタ(TMEF)
    ・ TM 識別データレジスタ(TMINF)
    ・ バンク選択レジスタ(BANKSEL)(コードフラッシュメモリ容量が1.5M バイト以上の製品のみ)
    ・ フラッシュアクセスウィンドウ設定レジスタ(FAW)
    ・ ROM コードプロテクトレジスタ(ROMCODE)


Reply
  • こんにちは。NoMaYです。

    > オプション設定メモリを書き換える際はRAM実行が必要

    次に、ユーザーズマニュアル ハードウェア編を確認してみると、フラッシュアクセスウィンドウ設定レジスタ(FAW)は
    オプション設定メモリ(OFSM)に配置されていることが分かりましたので、RAM実行が必要である、ということですね。

    RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編
    R01UH0590JJ0230 Rev.2.30 Pages 2763 2019.06.20
    www.renesas.com/jp/ja/document/mah/rx65n-group-rx651-group-users-manualhardware-rev230

    7. オプション設定メモリ(OFSM)

    7.1 概要

    オプション設定メモリ(OFSM) は、以下に示すレジスタの総称です。

    ・ シリアルプログラマコマンド制御レジスタ(SPCC)
    ・ OCD/ シリアルプログラマID 設定レジスタ(OSIS)
    ・ オプション機能選択レジスタ0(OFS0)
    ・ オプション機能選択レジスタ1(OFS1)
    ・ エンディアン選択レジスタ(MDE)
    ・ TM イネーブルフラグレジスタ(TMEF)
    ・ TM 識別データレジスタ(TMINF)
    ・ バンク選択レジスタ(BANKSEL)(コードフラッシュメモリ容量が1.5M バイト以上の製品のみ)
    ・ フラッシュアクセスウィンドウ設定レジスタ(FAW)
    ・ ROM コードプロテクトレジスタ(ROMCODE)


Children
No Data