RX651マイコンでFreeRTOS(with IoT libraries)を使いたい

こんにちは。Kmineです。

以前からRX65N CloudKITのサンプルコードをもとにFreeRTOSおよびAWSに触れてきたのですが、

サンプルのバージョンが古いこともあり、プロジェクトの新規作成をしたいと思っています。

開発環境は以下で行おうとしています。

  • e2studio:2023-10
  • マイコン:R5F5651EDDFM
  • FreeRTOS:v202012.00-rx-1.0.2  (過去スレッドでおすすめの最新安定板とあったので)
  • (KernelOnlyで試してみたバージョン:10.4.3-rx-1.0.8)

作成に当たって、質問したい内容を以下に列挙します。

  1. FreeRTOS(with IoT libraries)がRX651マイコン未対応であるため直接プロジェクト作成できず、一度RX65Nで作成した後デバイス変更にてRX651に変えてみたがビルドエラーとなった。(OTAの絡みでデュアルポート対応マイコンを選択する必要があるためエラーとなった?)
  2. 1をひとまず断念し、KernelOnlyで作成した後coreMQTTなどを移植して実装しようとしたが、移植範囲?と方法(ファイルをコピペすればいい?)がよくわからなかった。
  3. また、FreeRTOS(with IoT libraries)のバージョンに関して、過去スレッドをもとにv202012.00-rx-1.0.2を選択したが、v202210.01-LTS-rx-1.1.2とどちらが現状のおすすめバージョンとなっているのか?(v202012.00-rx-1.0.2はe2studio内では非推奨のストラクチャと表示されていたため)
  4. 3に併せて、v202210.01-LTS-rx-1.1.2が推奨バージョンである場合、使用する術を知りたい。(なぜかダウンロードしてもバージョン候補に表示されないため)

上記に関して1or2はどちらかの方法が実現できれば良いと考えています。ひとまず使いたい機能はMQTTのみです。

3、4は今後の参考として知りたいと思っています。

以上、よろしくお願いいたします。

  • kmineさん

    前にハマったことがある内容に質問1が似ているので試してみてください。

    その他質問も調べた限りで回答してみました。

    >1.FreeRTOS(with IoT libraries)がRX651マイコン未対応であるため直接プロジェクト作成できず、一度RX65Nで作成した後デバイス変更にてRX651に変えてみたがビルドエラーとなった。(OTAの絡みでデュアルポート対応マイコンを選択する必要があるためエラーとなった?)

    おそらくプロジェクトの設定が消えちゃったのだと思います。以下確認してみてください。

    主に気をつけるのは以下2点

    ・_DUALがついている製品を選ぶ(FreeRTOS(with IoT librariesはOTAをサポートしているので_DUALの構成で作られているため)

    ・スマートコンフィグレータからデバイスを変更する際にセクション設定が壊れないようにする(QE for OTAに手順のガイドがあったのでそれを紹介。以下のステップ)

    *スマートコンフィグレータでデバイス変更する手順(セクション設定を維持)

    >2.をひとまず断念し、KernelOnlyで作成した後coreMQTTなどを移植して実装しようとしたが、移植範囲?と方法(ファイルをコピペすればいい?)がよくわからなかった。

    Kernel OnlyってCoreMQTTとかが入ってないものなので、そのやり方は不可能では・・・?(よくわからないので回答できないです)

    >3.また、FreeRTOS(with IoT libraries)のバージョンに関して、過去スレッドをもとにv202012.00-rx-1.0.2を選択したが、v202210.01-LTS-rx-1.1.2とどちらが現状のおすすめバージョンとなっているのか?(v202012.00-rx-1.0.2はe2studio内では非推奨のストラクチャと表示されていたため)

    v202210.01-LTS-rx-1.1.2(今はv202210.01-LTS-rx-1.1.3があるようですが)が新しいものですね。こちらがFreeRTOSの新しいものなので、こちらが推奨ですね。ただ、ターゲットのKitは従来のものと変わっているようです。

    RenesasさんのGitでも古い方のv202012.00-rx-1.0.2はArchivedになっていますね。

    github.com/.../v202012.00-rx-1.0.2

    >4.3に併せて、v202210.01-LTS-rx-1.1.2が推奨バージョンである場合、使用する術を知りたい。(なぜかダウンロードしてもバージョン候補に表示されないため)

    CC-RXコンパイラのプロジェクトであればe2studio にてダウンロードができ、選べました。

    GCCは対応がまだのようですね。 どちらのコンパイラ使われていますか?

    https://github.com/renesas/iot-reference-rx/releases/tag/v202210.01-LTS-rx-1.1.3

  • Kminさん

    回答を書いたらシステムエラーになったので分けて回答しますね。

    FreeRTOS(with IoT libraries)がRX651マイコン未対応であるため直接プロジェクト作成できず、一度RX65Nで作成した後デバイス変更にてRX651に変えてみたがビルドエラーとなった。(OTAの絡みでデュアルポート対応マイコンを選択する必要があるためエラーとなった?)

    QE for OTAのツール上でガイドされているステップだと回避できるかもしれません。

    セクション設定が消えちゃったのだと思います。

    この手順で回避できるかもしれません。(セクションが初期されないので)

  • 1をひとまず断念し、KernelOnlyで作成した後coreMQTTなどを移植して実装しようとしたが、移植範囲?と方法(ファイルをコピペすればいい?)がよくわからなかった。

    こちらはよくわからないです。

    Kernel OnlyなのでCoreMQTTなどは使えないプロジェクトが生成されるので、素直にIoT Librariesの方を使いましょう

  • また、FreeRTOS(with IoT libraries)のバージョンに関して、過去スレッドをもとにv202012.00-rx-1.0.2を選択したが、v202210.01-LTS-rx-1.1.2とどちらが現状のおすすめバージョンとなっているのか?(v202012.00-rx-1.0.2はe2studio内では非推奨のストラクチャと表示されていたため)

    v202210.01-LTS-rx-1.1.2ですね。

    https://freertos.org/lts-libraries.html

    FreeRTOSのLTSの最新版に沿ったVerであるためです。v202210.01-LTS-rx-1.1.2では、古いVerのものとサポートされているKitが変わっているようですので注意が必要です。

  • 3に併せて、v202210.01-LTS-rx-1.1.2が推奨バージョンである場合、使用する術を知りたい。(なぜかダウンロードしてもバージョン候補に表示されないため)

    やってみました。CC-RXであれば選べました。Verは末尾1.1.3ですが。GCCはまだみたいです。

  • PONSUKEさん

    回答ありがとうございます。

    回答いただいた、内容を総括しますと

    • バージョンはv202210.01-LTS-rx-1.x.xが現在推奨されている(CC-RXを使用する)
    • RX65Nにて上記バージョンのwith IoT Librariesを作成後、使用デバイスをRX651へ変更する
    • 上記の際、セクションのチェックを外してビルドをしてみる

    という条件であれば、私のやりたいことはできそう...?と認識しました。

    アドバイスいただいた通り実施してみて、結果については後ほどまた書込みたいと思います。

  • こんにちは。Kmineです。

    別件で立て込んでおり少々時間が空きましたが、途中経過の報告をさせていただきたいと思います。

    改めて、動作環境ですが

    • e2studio:202401
    • FreeRTOS(with IoT libraries):v202210.01-LTS-rx-1.1.3
    • コンパイラ:CC-RX(V3のライセンス未所持のためV3で作成後V2へ変更して使用)
    • マイコン:R5F5651EDDFM

    上記でいろいろ実施しております。

    結果として、RX651マイコンへボード変更した状態でビルドまで無事成功いたしました。

    マイコンへの書込みおよび動作確認はまだ行っていないため、確認でき次第またこちらで報告すると思います。

    なお、今回ビルドまでに多少なりとも詰まった点を共有しておきます。

    1. 今回はセルラーを使用するサンプルを選択したが、一部FITモジュール(r_irq_rx)が不足していたり、ヘッダーのインクルード漏れ?(usbを入れ込む場合)があった
    2. Cannot find "PFRAM2" specified in option "rom"というエラーメッセージが出た

    1.に関してはエラー内容に従って補填していけば対応はできました。

    2.に関してはrenesasから対応方法が提示されていましたので、こちらを参考にしました。

    これから、セルラー部分をwifiモジュールに置き換えてmqttの動作を確認していこうと思います。

    改めてPONSUKEさん、アドバイスありがとうございました。

    また何かありましたらお力添えいただけると幸いです。