温湿度センサPmodボードUS082-HS3001EVZ(ルネサス QuickConnect IoT)ってRX SmartConfiguratorのCG Componentでは素朴に扱えない(cannot be used for it)?

こんにちは。NoMaYです。

ルネサスさんの温湿度センサPmodTMボード(ルネサス クイックコネクトIoT)を買ったのでTB-RX671で触ろうとしています。搭載されている温湿度センサHS3001のデータシートを見たところ、測定開始トリガを掛けるI2Cコマンドは以下の画面コピーのフォーマットになっていて、I2Cのデータライトなのですがデータ数が0の形になっていました。他方、RXスマートコンフィグレータが生成したCGコンポーネントのソースでは、以下の画面コピーの通り、I2C通信API関数内でデータライトのデータ数が0の場合は、何もしない、という処理になっていました。(おそらく、このエラーチェック?は後付の処理で、本来はエラーコードを返すところだけれど、既に戻り値がvoidの関数として規定されていたので、こういう処理になったのだろう、という気がします。)

何か、ひと工夫しないと扱えない、っぽい気配です、、、(だから温湿度センサなのに重厚?ミドルウェアがやたら念入りに用意されていたのかなぁ、、、)

温湿度センサHS3001のデータシートの画面コピー
www.renesas.com/jp/ja/document/dst/hs300x-datasheet


RXスマートコンフィグレータが生成したCGコンポーネントのソースの画面コピー


[関連リンク]

US082-HS3001EVZ 温湿度センサ PmodTM(ルネサス クイックコネクトIoT) 製品ページ
www.renesas.com/jp/ja/products/sensor-products/humidity-sensors/us082-hs3001evz-relative-humidity-sensor-pmod-board-renesas-quick-connect-iot

[追記]

ちなみに、TB-RX671のPmod TMタイプ6Aの標準実装のコネクタの配線ですけど、こういう配線になってました。

TB-RX671の回路図の画面コピー
www.renesas.com/jp/ja/document/sch/target-board-rx671-schematic


TB-RX671 製品ページ
www.renesas.com/jp/ja/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rtk5rx6710c00000bj-target-board-rx671

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

    今、別スレッドですが、ルネサス クイックコネクトIoT センサミドルウェアを使用したサンプルプログラムの使用ROM/RAMサイズを調べ始めようとしていて、その前に、こちらのスレッドのルネサス クイックコネクトIoT センサミドルウェアを使用しないやり方ではどうなのかちょっと調べてみました。こちらのスレッドのものは初心者フォーラムへ以前投稿していたサンプルプログラムへ追加するつもりでいましたので、コンパイル時の最適化はレベル0にし、メッセージ出力にprintfを使用するなどしていましたが、それを、最適化をレベル2、printfは使用しないといった点を変えて、その上で使用ROM/RAMサイズは以下の通り(画面コピーあり)でした。

    (参)別途調べ始めようとしている ルネサス クイックコネクトIoT センサミドルウェアを使用したサンプルプログラム での使用量

    ROM / RAM (bytes)

    RX & CC-RX?        RA & GNUARM         RL78 & CC-RL?      RE & GNUARM
    24,863 / 7,941      6,164 / 1,740       4,046 / 100         74,472 / 7,560

    ROM/RAMにどういうものが計上されているかは今後調べるつもりです
    (RAを除き、各CPUファミリのソフトウェア開発プラットフォームのネイティブAPI⇔FSP互換APIの変換層が含まれる、でしょう)


    (本)こちらのスレッドの  ルネサス クイックコネクトIoT センサミドルウェアを使用しない やり方での使用量


    RX140 (TB-RX140)

    PROGRAM SECTION:  000010a0 Byte(s)  4,256 バイト(10進数)
    ROMDATA SECTION:  000006cc Byte(s)  1,740 バイト(10進数)
    RAMDATA SECTION:  000006d9 Byte(s)  1,753 バイト(10進数)

    RX23W (TB-RX23W-module)

    PROGRAM SECTION:  00001163 Byte(s)  4,451 バイト(10進数)
    ROMDATA SECTION:  000006cc Byte(s)  1,740 バイト(10進数)
    RAMDATA SECTION:  00000725 Byte(s)  1,829 バイト(10進数)

    RX671 (TB-RX671)

    PROGRAM SECTION:  00001b01 Byte(s)  6,913 バイト(10進数)
    ROMDATA SECTION:  00000716 Byte(s)  1,814 バイト(10進数)
    RAMDATA SECTION:  00000927 Byte(s)  2,343 バイト(10進数)

    RXスマートコンフィグレータ V2.11.0 (BSPモジュール V6.20) + CC-RX V3.03 を使用
    ソースはチョイ変しただけなので実はprintfサポートの為の下位階層コードが残っています
    スマートコンフィグレータの設定は変えていないので入出力ポート操作のコードを含みます
    ROMDATAは ベクタテーブル(1,024バイト) を含みます
    RAMDATAは スタック領域(1,024バイト) を含みます


    以下、資料としてマップファイルを添付しておきます。

    HS3001_RX_MCU_SMC_CG_I2C_Master_map_files.zip
    I2C_Master_TB_RX23W_module.map
    I2C_Master_TB_RX140.map
    I2C_Master_TB_RX671.map

    なお、コンパイル時の最適化レベルやソースを変更する前のプロジェクトのファイル一式は以下にあります。

    github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_CSplus/tree/ccc1265
    60_I2C_Master/tb_rx23w_module/
    60_I2C_Master/tb_rx140/
    60_I2C_Master/tb_rx671/

    以下、CS+でのビルド時の画面コピーです。

    RX140 (TB-RX140)


    RX23W (TB-RX23W-module)


    RX671 (TB-RX671)

     

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

    今、別スレッドですが、ルネサス クイックコネクトIoT センサミドルウェアを使用したサンプルプログラムの使用ROM/RAMサイズを調べ始めようとしていて、その前に、こちらのスレッドのルネサス クイックコネクトIoT センサミドルウェアを使用しないやり方ではどうなのかちょっと調べてみました。こちらのスレッドのものは初心者フォーラムへ以前投稿していたサンプルプログラムへ追加するつもりでいましたので、コンパイル時の最適化はレベル0にし、メッセージ出力にprintfを使用するなどしていましたが、それを、最適化をレベル2、printfは使用しないといった点を変えて、その上で使用ROM/RAMサイズは以下の通り(画面コピーあり)でした。

    (参)別途調べ始めようとしている ルネサス クイックコネクトIoT センサミドルウェアを使用したサンプルプログラム での使用量

    ROM / RAM (bytes)

    RX & CC-RX?        RA & GNUARM         RL78 & CC-RL?      RE & GNUARM
    24,863 / 7,941      6,164 / 1,740       4,046 / 100         74,472 / 7,560

    ROM/RAMにどういうものが計上されているかは今後調べるつもりです
    (RAを除き、各CPUファミリのソフトウェア開発プラットフォームのネイティブAPI⇔FSP互換APIの変換層が含まれる、でしょう)


    (本)こちらのスレッドの  ルネサス クイックコネクトIoT センサミドルウェアを使用しない やり方での使用量


    RX140 (TB-RX140)

    PROGRAM SECTION:  000010a0 Byte(s)  4,256 バイト(10進数)
    ROMDATA SECTION:  000006cc Byte(s)  1,740 バイト(10進数)
    RAMDATA SECTION:  000006d9 Byte(s)  1,753 バイト(10進数)

    RX23W (TB-RX23W-module)

    PROGRAM SECTION:  00001163 Byte(s)  4,451 バイト(10進数)
    ROMDATA SECTION:  000006cc Byte(s)  1,740 バイト(10進数)
    RAMDATA SECTION:  00000725 Byte(s)  1,829 バイト(10進数)

    RX671 (TB-RX671)

    PROGRAM SECTION:  00001b01 Byte(s)  6,913 バイト(10進数)
    ROMDATA SECTION:  00000716 Byte(s)  1,814 バイト(10進数)
    RAMDATA SECTION:  00000927 Byte(s)  2,343 バイト(10進数)

    RXスマートコンフィグレータ V2.11.0 (BSPモジュール V6.20) + CC-RX V3.03 を使用
    ソースはチョイ変しただけなので実はprintfサポートの為の下位階層コードが残っています
    スマートコンフィグレータの設定は変えていないので入出力ポート操作のコードを含みます
    ROMDATAは ベクタテーブル(1,024バイト) を含みます
    RAMDATAは スタック領域(1,024バイト) を含みます


    以下、資料としてマップファイルを添付しておきます。

    HS3001_RX_MCU_SMC_CG_I2C_Master_map_files.zip
    I2C_Master_TB_RX23W_module.map
    I2C_Master_TB_RX140.map
    I2C_Master_TB_RX671.map

    なお、コンパイル時の最適化レベルやソースを変更する前のプロジェクトのファイル一式は以下にあります。

    github.com/NoMaY-jp/RX_SmartConfigurator_examples_RXTB_CSplus/tree/ccc1265
    60_I2C_Master/tb_rx23w_module/
    60_I2C_Master/tb_rx140/
    60_I2C_Master/tb_rx671/

    以下、CS+でのビルド時の画面コピーです。

    RX140 (TB-RX140)


    RX23W (TB-RX23W-module)


    RX671 (TB-RX671)

     

Children
No Data