データフラッシュライブラリ type04の使用環境

はじめまして。

以下開発環境で、データフラッシュライブラリType04は使用可能なのでしょうか?

可能であればどのようにすればよいでしょうか?

CPU:RL78/G13

IDE:e2studio (Version:2021-07)

コンパイラ:GCC for Renesas RL78 (Version:4.9.2.202002

Renesasサイトから、Type04をダウンロードし、e2studioのプロジェクトに各種ヘッダー等をインポートしました。

ライブラリファイル「pfdl.lib」をe2studioプロジェクトに追加する方法がわからなく、以下コンパイルエラーとなってしまいます。

(.text.R_FDL_Open+0x13): undefined reference to `PFDL_Open' 】 ※他の命令(PFDL_Closeなど)も同様のエラー

コンパイラはGCCを使用しているのですが、Type04は対応しているのでしょうか?

  • こじこじ さん、こんにちは。NoMaYと申します。

    2時間ほど調べてみてもオフィシャルな入手方法は分からなかったのですけれども、がじぇるねのGR-KURUMIボード向けArduinoライブラリソースファイル一式(コンパイラはGNURL78)を固めたzipファイル中にpfdl.aというバイナリライブラリファイルが入っていますので、それを利用することが出来るのではないかと思います。すみません、API関数がe2 studioのGNURL78向けRL78コード生成機能と合致するのかどうかまでは確認していないのですけれども、ルネサスさんが開発したArduino EEPROM API互換ライブラリソースファイルも一緒に入っていますので、なんとかなるのではないだろうかとも思います。

    そのzipファイルは以下からダウンロード出来ます。

    ダウンロードページ - GR-KURUMI
    www.renesas.com/jp/ja/products/gadget-renesas/boards/gr-kurumi#download

    ダウンロードリンク
    GR-KURUMI Sketch v204-e2v7 Project File

    該当ファイル
    kurumi-sketch-v204-e2v7.zip/kurumi_sketch/arduino/libraries/EEPROM/utility/pfdl.a

    [追記]

    pfdl.a単体の使い方は、たぶん、このドキュメントの内容と同じなのではないかと思われます。(ダウンロード元のURLの記載もありました。)

    RL78/L12データ・フラッシュ・メモリを用いた外付けEEPROM IC機能の取り込み(フラッシュ・データ・ライブラリ編)
    R01AN2013JJ0110 Rev.1.10 Pages 68 2022.9.9
    www.renesas.com/jp/ja/document/apn/rl78l12-integrate-external-eeprom-ic-functionality-mcu-using-data-flash-memory-flash-data-library-0
     

  • こじこじ さん、こんにちは。NoMaYです。

    GR-KURUMIのzipファイル中から以下の画面コピーの3つのファイルをコピーして、pfdl.aをリンカ設定のAdditional input filesに追加して、ビルドしてみるとビルドは通りました。(リンカスクリプトは整えていませんけれども。)

    以下、e2 studioの画面コピーです。



     

  • NoMaYさん。こじこじです。

    情報及び確認ありがとうございます。

    私の環境でも同様に「pfdl.a」をAdditional input filesに追加してビルドしたところ、ビルド成功しました!

    これから動作やメモリ配置をリンカスクリプトで調整し、動作確認していこうと思います。

    また何かあれば質問させて下さい。

  • こじこじさん、NoMay さんこんにちは。

    既に解決しているようですが、自分も過去に同じような方法で、gcc 環境でデータフラッシュを使えるようにしました。

    以下のリンクが参考になると思います。

    http://www.rvf-rc45.net/wordpress/?p=2259

    RL78 データフラッシュサンプル

    https://github.com/hirakuni45/RL78/tree/master/DATA_FLASH_sample

    pfdl ライブラリを実際に操作するクラスは以下です。

    https://github.com/hirakuni45/RL78/blob/master/common/flash_io.hpp

  • hirakuni45さん

    返事遅くなりました。情報ありがとうございます。

    私の力不足により、アセンブラとC++は敷居が高かったです。

    ただ、こういった方法もあるのだと知り、非常に参考になりました。