TB-RX23WでFreeRTOS+BLEを試していこうかと思います(でも本格的にやるのは夏ぐらいから?)

こんにちは。NoMaYです。

別スレッド『EK-RA4W1でArduinoスケッチ』にもレスしましたがTB-RX23WとRL78/G1D BLE Module Expansion Boardを買い込んであるものの開封もしてなかったりして、もったいないので、まずTB-RX23Wから試してみようと思いました。

それで、資料を探し始めて気付いたのですが、RX23WのページからBLEのページへ飛ぶリンクが無いですよね、、、以前、一度調べた時は簡単に辿り着けた様な気がするのですが、、、ちょっとずつ探していこうと思います、、、

RX23W製品ページ
www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx23w-32-bit-microcontrollers-bluetooth-5-iot-endpoint-devices-system-control-and-wireless-communication

[以下へは辿り着いたもののその先が?]

Bluetooth® Low Energy for RXファミリ
www.renesas.com/jp/ja/application/technologies/bluetooth-low-energy-rx

[顛末!]

と思っていたら、それなりのリンクがありましたね、製品ページの下の方に以下のタイトルが表示されていました。(そういえば、ウェブサイトリニューアル後は、PDFやZIPなどの個々のアイテムへのリンクだけが簡素なリスト形式で表示されるだけでなく、こういったページなどへのリンクも同じ形式で(すごくあっさりと)表示されるようになったのでした、、、リニューアル前のウェブサイトの使い勝手の感覚が邪魔をして、つい探し漏らしてしまいます、、、)

ソフトウェア/ツールページ

RXファミリ用 Bluetooth® Low Energyプロトコルスタック
www.renesas.com/jp/ja/software-tool/bluetooth-low-energy-protocol-stack-rx-family

[余談]

たぶん、私の他にもそう感じている人が少なくないと思うのですが、リニューアル後のウェブサイトって受動部品(ディスクリート)の為のサイトという感じですよね?例えば、製品ページの右上にDataSheetへのリンクがありますけど、ハードウェアマニュアルへのリンクでは無い(その場所にハードウェアマニュアルへのリンクが無い)のですよね、、、
 

  • こんにちは。NoMaYです。

    アプリケーションノートのWindows 10 BLEサンプルプログラムのプロジェクトファイル*.csprojの以下の部分を手作業でエディタで書き換えたらビルド出来るようになりました、、、(Visual Studioのプロジェクト設定GUIのどこかで変更出来るかも知れませんが、、、)

    r01an6004xx0100-ble-mcu-win/LED_Switch_Service_Client/LED_Switch_Service_Client.csproj
    r01an6004xx0100-ble-mcu-win/Virtual_UART_Client/Virtual_UART_Client.csproj

    変更前:

        <Reference Include="System.Runtime.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll</HintPath>
        </Reference>

     

        <Reference Include="Windows">
          <HintPath>..\..\..\..\..\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0\Windows.winmd</HintPath>
        </Reference>

     
    変更後:

        <Reference Include="System.Runtime.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll</HintPath>
        </Reference>

     

        <Reference Include="Windows">
          <HintPath>C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0\Windows.winmd</HintPath>
        </Reference>

     
    以下、ビルド正常終了の画面コピーです。




     

  • こんにちは。NoMaYです。

    アプリケーションノートのWindows 10 BLEサンプルプログラムがビルド出来ましたので実行してみました。その為に、アプリケーションノートとTB-RX23W-moduleのクイックスタートガイドの記載に従ってTB-RX23W-moduleに出荷時ソフトウェアを書き込んで(出荷時ソフトウェアへ復元して)、TB-RX23W-moduleのUARTコンソール出力用のUSBコネクタについてもPCと接続してTeraTermを起動しておきました。以下、画面コピーの通り、ペアリング、コネクト、SW押下回数表示、LED点滅間隔変更、といったことが無事に出来ました。

    以下、画面コピーです。

    TB-RX23W-moduleのリセット


    ペアリング




    コネクト



    SW押下回数表示


    LED点滅間隔変更

     

  • こんにちは。NoMaYです。

    アプリケーションノートのWindows 10 BLEサンプルプログラムのソースをビルド/実行することが出来ましたので、今度はTB-RX23W-moduleの出荷時ソフトウェアのソースを探そうとしたのですが、そのものズバリのソースは公開されていないようですね。ですが、同等だと思われるものが以下のFITモジュールの画面コピーのデモフォルダにble_demo_tbrx23wmodule_profile_serverとして含まれていましたので、試しに一緒に含まれていたビルド済みのmotファイルをTB-RX23W-moduleに書き込んでみたところ、思った通りに前回投稿時と同様に動作してくれました。

    ただし、最初から分かっていたことですけれど、CC-RXの無償評価版では以下の画面コピーの通りにリンクサイズ制限によりビルドに失敗します。さて、ここからどうしたものか、、、

    ルネサス検索: r01an4860xx
    www.renesas.com/jp/ja/search?keywords=r01an4860xx

    RX23Wグループ BLE Module Firmware Integration Technology アプリケーションノート Rev.2.30
    R01AN4860JJ0230 Rev.2.30 2021.10.15

    PDFファイル
    www.renesas.com/jp/ja/document/apn/rx23w-group-ble-module-firmware-integration-technology-application-note

    ZIPファイル
    www.renesas.com/jp/ja/document/scd/rx23w-group-ble-module-firmware-integration-technology-application-note-rev230-sample-code

    以下、画面コピーです。





    [関連リンク]

    Google検索: r01an4860
    www.google.com/search?q=r01an4860

    ルネサス検索: r01an4860
    www.renesas.com/jp/ja/search?keywords=r01an4860
     

  • こんにちは。NoMaYです。

    > CC-RXの無償評価版では以下の画面コピーの通りにリンクサイズ制限によりビルドに失敗します。

    プログラムサイズが小さくなるかも知れない設定を試行錯誤していたところ、幸運にも、ぎりぎり何とかビルドに成功する設定を得ることが出来ました。ビルドしたMOTファイルを書き込むと、今回サイズ削減の為に無効にしたログ出力機能は除いて、SW押下回数表示やLED点滅間隔変更は前々回投稿時と同様に動作してくれました。差し替えファイル等を以下のzipファイルに固めました。(なお、リビルドで強引にRXスマートコンフィグレータがソース/プロジェクトを再生成してしまうことでビルドに失敗してしまう挙動を回避する為のファイルも入っています。)

    ble_demo_tbrx23wmodule_profile_server_very_compact_20211026.zip
    .project
    .cproject
    .externalToolBuilders/com.renesas.smc.ui.pgsupport.SCContentBuilder.launch
    src/smc_gen/r_config/r_bsp_config.h
    src/smc_gen/r_config/r_ble_rx23w_config.h
    ble_demo_tbrx23wmodule_profile_server.rcpc
    HardwareDebug/ble_demo_tbrx23wmodule_profile_server.build.log
    HardwareDebug/ble_demo_tbrx23wmodule_profile_server.map
    HardwareDebug/ble_demo_tbrx23wmodule_profile_server.mot

    今回の設定は主に以下の4項目に分類出来ます。(なお、(1)~(3)は最近投稿した別スレッドの内容と同様です。)

    (1) 未使用の変数/関数を削除する最適化を行う
    (2) 上記の最適化の効き目を強くする
    (3) BSPモジュールのサイズを小さくする
    (4) BLEモジュールのサイズを小さくする(BLEモジュール内の基本機能および便利機能の両方に対してです)

    ちなみに、確信は持てていないですが、もしもlibファイルが作成された時のコンパイルオプションで上記の(1)の為のお膳立てオプション -goptimize が指定されていたら更に効き目が強くなったりしないかな、と思いました。

    以下、ビルド出来た時のe2 studioの画面コピーと上記の(4)の変更箇所のファイル比較ツールの画面コピーです。

    プログラムサイズは 0001dba0 バイト(16進数) なので 121,760 バイト(10進数) でした


    左ペインがデモプログラムそのもの、右ペインが変更したもの




     

  • こんにちは。NoMaYです。

    先日ビルドしたTB-RX23W-moduleプログラムの動作を理解するには以下のドキュメントを読むのが良さそうです。

    RX23Wグループ Bluetooth Low Energy アプリケーション開発者ガイド

    PDFファイル
    www.renesas.com/jp/ja/document/apn/rx23w-group-bluetooth-low-energy-application-developers-guide-rev110

    ZIPファイル
    www.renesas.com/jp/ja/document/scd/rx23w-group-bluetooth-low-energy-application-developers-guide-rev110-sample-code

    以下、ドキュメントの画面コピーです。




     

  • こんにちは。NoMaYです。

    今度は、アプリケーションノートのWindows 10 BLEサンプルプログラムを、Microsoft Visual Studio Express 2017 for Windows Desktopでは無く、Visual Studioとしては最新のMicrosoft Visual Studio 2022 Community Editionでビルドして起動してみました。今回も、先日同様、*.csprojファイルを修正しないとビルド出来せんでしたが、修正後はLED_Switch_Service_ClientもVirtual_UART_Clientもビルドすることも起動させることも出来ました。(なお、前者は動作確認も出来ましたが、後者はRX23W側のプログラムが未作成ですので動作確認していません。ですけれども、多分、動作するだろうと思います。)

    以下、Microsoft Visual Studio 2022 Community Editionでビルドした時と起動した時の画面コピーです。その下に、インストール時の画面コピーもあります。(ただ、ちょっと好奇心から、余分なものもインストールしていたりしますけれども。)









    visualstudio.microsoft.com/free-developer-offers/