RX65N I2C サンプルプログラムエラーについて

お世話になっております。

今回スマートコンフィグレータでI2C通信のコード生成を行い

https://www.renesas.com/jp/ja/doc/products/tool/doc/013/r20ut4360jj0104-scapirx.pdf

にあるマスタ送信の使用例1のサンプルプログラムを動かしてみたところ添付してある画像のようにエラーが出ました。

色々調べてみたのですが原因がわからなかったのでどなたか教えてもらえないでしょうか。

よろしくお願いします。

  • たむら さん、こんにちは。NoMaYです。

    最初のエラーのiodefine.hのインクルードエラーのメッセージからの推測ですが、新旧のr_bspのファイルが混在してしまっているのではないかと疑われます。(先日いろいろあったせいだと思います。) ですので、src\smc_gen\r_bsp\をフォルダごと一旦削除してから、再度コード生成してみてもらえますか?その後で再度ビルドしてみるとどうなりますでしょうか?

    あと、(同じく先日いろいろあったことで)CS+のインクルードパスの設定も、新旧のr_bsp対応のものが混在してしまっているのではないかと気になります。再度コード生成する前に、こちらもインクルードパスの設定を全て一旦削除してみてもらえないでしょうか?(あ、でも、念の為に、インクルードパスの設定は何かのテキストファイルにバックアップしてから削除して下さい。)

  • NoMaYさん、回答ありがとうございます。

    返信が遅くなり申し訳ございません。

    src\smc_gen\r_bsp\のフォルダを消してからやってみるとまた別のエラーが発生しました。

    原因を調べてみたのですが自分の力では解決できなかったのでまたお願いしてもよろしいでしょうか?

    よろしくお願いします。

     

     

  • たむら さん、こんにちは。NoMaYです。

    これは以下のファイルが(私が思っていたようには)再生成されていなかったことが原因なのかも知れません。または、同名ファイルが2つ存在するようになってしまっている、かも知れません。

    対象ファイル

    src/smc_gen/r_config/r_bsp_config.h

    対処案

    (1) 同名ファイルが存在していたら上記以外のファイルは削除する
    (2) そうでなければ上記ファイルを削除して再度コード生成する

    補足

    エラーの出ている箇所は、新しいバージョンのr_bspで追加されたデファインですね。(つまり、古いバージョンのr_bspには存在しないデファインなのです。) デファインはr_bsp_config.hにあるのですが、r_bsp本体を再生成させた時にr_bsp_config.hも再生成されて辻褄は合うようになっている筈だと思っていたのですが、私が何か誤解しているかも知れないです。(というか、r_bsp_config.hはコード生成させる度に生成(というか更新)されている筈だったと思いますので、何故このデファインが漏れているのか(と推測されるのです)、ちょっと腑に落ちないところではあります。)

  • NoMaYさん、回答ありがとうございます。

    上記の方法を試すと次は別のエラーが出てきてしまいました。

    何度もすみません。

    よろしくお願いします。

  • たむら さん、こんにちは。NoMaYです。

    これはコンパイル時の普通のワーニングだと思います。CS+でコンパイルエラー/ワーニングが表示されているウィンドウにはどのようなワーニングメッセージが表示されていますか?

  • NoMaYさん、回答ありがとうございます。

    このようになりました。

    よろしくお願いします。

  • たむら さん、こんにちは。NoMaYです。

    ヘルプ画面から切り取ったものではなくて、CS+のメニュー[表示]→[エラー一覧]で表示されるウィンドウに表示されているワーニングメッセージが見たいです。

  • NoMaYさん、回答ありがとうございます。

    こちらでよろしいでしょうか?

    よろしくお願いします。

  • たむら さん、こんにちは。NoMaYです。

    どうもありがとうございました。_R_Config_RIIC0_Master_Sendが見つからない、というリンクエラーも出ていますね。推測ですが、RXスマートコンフィグレータでRIIC0コンポーネント選択時に送受信機能版を選択したのではないですか?Config_RIIC0.c中に、R_Config_RIIC0_Master_Send()ではなくてR_Config_RIIC0_Master_Send_Receive()が生成されていませんか?もしそうであれば、RIIC0コンポーネント機能を"送受信"ではなくて"送信"に変更して、再度コード生成させてみて下さい。

    今のところ他の可能性は思い浮かばないのですが、解決しないようであれば、プロジェクトのファイル一式をzipファイルに固めて、リプライに添付して頂くのが良いのかな、と思います。

  • NoMaYさん、回答ありがとうございます。

    返信が遅くなり申し訳ございません。

    マスターのコード生成をするときに今までリソースをSCI0でしていたためRIIC0に変えたら動きました。
    初歩的なところで間違っていました。
    お手数をおかけしてすみません。

    また質問することがあると思いますのでその際はまたよろしくお願いします。