Low-Power Flash Driver (r_flash_lp)の使い方について

こんにちは、Masaといいます。

Low-Power Flash Driver (r_flash_lp)を使用してRA2L1のコードエリアセルフプログラミングを考えています。

このr_flash_lpを使用するにあたり、資料R11UM0146EU0100 Revision 1.00とサンプルプログラムEK-RA2L1 Example Project Bundle(r20an0598eu0127-ek-ra2l1-exampleprojects.zip)を見ています。

この資料470ページから関数の詳細が記載されていますが、引数p_ctrlの扱いがわからない状態です。

サンプルプログラムのファイル「flash_lp_ep.c」では「&g_flash_ctrl」が割り当てられていますが、実際に何の値を設定するのか判断できていません。

また、関数「R_FLASH_LP_Open」の引数「&g_flash_cfg」も実際に何を設定するか判断できていません。

ご存じの方がいらっしゃいましたら、教えていただけますと助かります。

宜しくお願い致します。

  • e2studio+FSPの環境でプロジェクトを作成すると、

    Configuration.xml(FSPの設定)

    がありますので、これを開き、Stacksタブの

    New Stack - Storage - Flash(r_flash_lp)を追加します。

    追加された、g_flash0 Flashのプロパティを開き

    Name(デフォルトでは、g_flash0)と、API関数の引数を同じ名称として、API関数を呼び出します。

    リファレンスマニュアルのサンプルコードは、

    R_FLASH_LP_Open(&g_flash_ctrl, &g_flash_cfg);

    となっていますが、これをStackで追加した箱のNameと合わせる様に

    R_FLASH_LP_Open(&g_flash0_ctrl, &g_flash0_cfg);

    とすれば、OKです。(デフォルト値とサンプルコードの記載を合わせておいてくれれば親切だと思うのですが…)

    記載のある、「470ページの引数p_ctrl」に関しては、どのドキュメント内の記載の事を指しているのか判りませんでした。お役に立てず、すみません。

  • tfさんこんにちは。
    &g_flash0_ctrlと&g_flash0_cfgのご説明、ありがとうございます。
    質問で記載しました「p_ctrl」は&g_flash0_ctrlに該当します。
    自分が記載しました「資料R11UM0146EU0100 Revision 1.00」は古い資料で下記資料の4004ページに記載されている「p_ctrl」が該当します。

    Renesas Flexible Software Package (FSP) v4.5.0 User's Manual(R11UM0155EU0350 Revision 3.50)
    www.renesas.com/.../renesas-flexible-software-package-fsp-v450-users-manual

    fsp_err_t(* flash_api_t::open) (flash_ctrl_t *const p_ctrl, flash_cfg_t const *const p_cfg)

    ご教示いただきました引数、&g_flash0_ctrlと&g_flash0_cfgやe2studioについて理解できていませんので、ご存じでしたらお教えいただけますと助かります。

    1.e2studioではStacks Configurationでr_flash_lpのプロパティを設定できますが、IARのEmbedded WorkbenchなどではどこのメニューでStacksの設定を行えばよいのか判断できない状態です。
    e2studio以外での設定方法をご存じでしたらご教示いただけますでしょうか?
    2.e2studioについて詳しくないのですが、IARなどのプロジェクトを読み込んで開発できたりするのでしょうか?
    もし取り込むことができるなら、既存のIARプロジェクトをe2studioで開いて、Stacks Configurationで&g_flash0_ctrlと&g_flash0_cfgの設定を行い開発を進めることもできそうですが、認識はあっていますでしょうか?

    e2studioについては理解が足りず、ざっと入門の資料

    e2 studio v7.3統合開発環境(IDE)ユーザーズマニュアル 入門ガイド(参考資料)
    統合開発環境e2 studio 2020-04、e2 studio v7.8ユーザーズマニュアル 入門ガイド

    も入手しStacksやコード生成についても読んでみましたが期待する内容とは違うようでした。
    本件についてご教示いただけましたら幸いです。
    宜しくお願い致します。

  • Masaさま

    1.

    IARのEmbedded Workbenchは使った事がないので、こんな感じ?かなという回答しか出来ないのですが、

    https://www.renesas.com/jp/ja/document/gde/1398876

    IAR Embedded Workbenchの環境に、RAスマート・コンフィグレータをインストールすると、Stacksの追加が行えるようです。

    2.

    e2studioはIDE(統合開発環境)なので、e2dstudioから、IARのコンパイラ(やリンカ)を呼び出して使う様にすることが出来るはずです。(RA向けのe2studioをインストールすると、デフォルトではGCC ARM Embeddedがツールチェーンとして登録されていますが、ツールチェーンをIAR Compilerに切り替えて使う事が出来るはずです。)

    FSPの4.5.0(現状の最新版)でも、IAR Compiler: 9.40.1が対応ツールとして記載されています。

    既存のIARのプロジェクトを読み込めるかは、IAR社のツールを使ったことが無いので判りませんが、インポートメニューには、その様な項目(IARプロジェクトの読み込み)は見当たらないです。

    https://www.renesas.com/jp/ja/software-tool/flexible-software-package-fsp

    一度FSPがセットになっている、e2studio(通常のe2studioとは異なり、ほぼRA専用のe2studio)をインストールしてみてはいかがでしょうか。オンラインマニュアルもセットになっているので、FSPのAPI関数等、RAのFSPに特化している部分の情報も調べられます。

    (RXやRL78向けに書かれているe2studioの使い方とRAでのe2studio+FSPの環境は、かなり別物かと思います。)

  • tfさま
    こんにちは。

    ご教示ありとうございます。

    ご教示いただきました

    IAR Embedded Workbench for Arm を使用したルネサスエレクトロニクスRA6M3 スタートアップガイド
    www.renesas.com/.../1398876

    を参考にしまして、RAスマート・コンフィグレータのIAR Embedded Workbenchへのツール設定、RAスマート・コンフィグレータでのStacks設定、ファイルの生成までできました。
    ありがとうございました。
    自分の場合は、新規プロジェクトへのファイル取り込みではなく、既存プロジェクトへのファイル取り込みでしたので、ipcfファイルを開いてプロジェクトを追加する方法ではなく、生成されたファイルを手動で追加することで実現しました。

    参考まに、自分の環境はRA専用(?)のFlexible Software Package (FSP)2023-07、FSP Smart Configurator 2023-04、IAR Embedded Workbench9.32.2を使用しています。
    大変助かりました。
    ありがとうございました。

  • 参考情報】

    開発環境構築
    ・IAR Embedded Workbench for Arm (EWARM) IDEでRA FSPプロジェクト開発
     RA Smart Configuratorを使用
     URL : https://renesas.github.io/fsp/_s_t_a_r_t__d_e_v.html#using-ra-smart-configurator-with-ewarm

    ・Arm Keil Microcontroller Development Kit (MDK) IDEでRA FSPプロジェクト開発
     RA Smart Configuratorを使用
     URL : https://renesas.github.io/fsp/_s_t_a_r_t__d_e_v.html#using-ra-smart-configurator-with-keil-mdk

    ・Renesas e2studio IDE + IAR CompilerでRA FSPプロジェクト開発
     e2studioにIAR Compilerを導入する方法:https://youtu.be/2K6j_bH2UtY [Video]
     プロジェクト作成方法はGCCコンパイラと同じ(参考ページ)

    ・Renesas e2studio IDE + Arm CompilerでRA FSPプロジェクト開発
     e2studioにArm Compilerを導入する方法:https://youtu.be/RThMXVUVdg8 [Video]
     プロジェクト作成方法はGCCコンパイラと同じ(参考ページ)

    FSPプロジェクトの開発環境移行
    ・e2studioプロジェクト → IAR EWARM or Keil MDK
     アプリケーションノート「Converting Applications from e² studio to IAR or Keil」(R11AN0555, 英語版リンク , 日本語版リンク )を参照

    ・IAR EWARM/Keil MDKプロジェクト → e2studio
     FAQ 2001102「IAR EW for Synergy のプロジェクトをe2 studioで使用する手順」( URL )が参考になるかも。。。

  • omuraisu49様

    おはようございます。
    色々な情報お教えいただきましてありがとうございます。
    今回の開発で参考となる内容が多数ありそうですので、活用させていただきます。
    大変助かりました。
    ありがとうございました。