スマート・コンフィグレータ(CS+)でコード自動生成すると、r_bsp内のファイルが消える

初めて投稿します。

当方、RSK_RX111にてマイコン学習をしているのですが

スマートコンフィグレータ上でポートの設定を追加し、コード゙自動生成を行ってビルドしたところ

r_bsp内「mcu」フォルダ内のファイルが、読み込みできないとのエラーが大量に発生しました。

※自動生成前にあったファイルが消えていました。

 

バックアップの「mcu」フォルダから消えた部分のファイルを補填すると、エラーが消えて

ビルド完了するのですが、なぜ自動生成でファイルが消えてしまうのか分からず困っています。

知見のある方おりましたらアドバイスいただきたく、よろしくお願いします。

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

    > バックアップの「mcu」フォルダから消えた部分のファイルを補填すると、...略...
    > ...略...、なぜ自動生成でファイルが消えてしまうのか分からず困っています。

    やはり、まず気になるのは、ウィルススキャンソフトを停止させてコード゙自動生成させたらどうなるか?ですね。試して頂くことは出来ますか?

    または、ウィルススキャンソフトの機能に特定のフォルダをスキャン対象から除外する機能があれば、「mcu」フォルダ(あるいはもっと上位のプロジェクトフォルダからでも構いません)を除外してみたらどうなるか?でも構わないです。試して頂くことは出来ますか?

    ウィルススキャンソフトを使われていれば、ですが、、、

    ちなみに、消えたファイルは、フォルダ以下丸ごとですか? それとも、幾つかのみですか?

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

    その後どうでしょうか?進展はありましたでしょうか?

  • NoMaYさま

    ご無沙汰しており申し訳ございません。
    諸事情で会社を離れてましたが、やっと復職できました。

    本件ですが、未だ解決に至っておりませんので
    引き続き質問させていただきたく、よろしくお願いいたします。

    以下に現象をまとめました。
    1.スマートコンフィグレータで何も追加せず(元のまま)、コード自動生成
    2.プロジェクトツリー内のファイルの一部(main, ICU/PORTのuser.c/.c,など)が赤く表示され
      クリックすると「他のプログラムで変更されたので再度読み込むか?」聞かれ、
      再度読み込むとファイルverは変わらず、日付だけ更新される
    3.ビルドすると、エラー「F0520005」(ソースファイルを開けない)が発生する。

    質問した当初と状況が違くなっており、申し訳ございません。
    また、ウイルスソフトですが、会社PCなので私ではいじることができません。。。
    この、エラー「F0520005」が何故出てくるのかが根本的な原因と思うのですが
    自分で調べた限りでは解決方法が見当たらず、お力添えお願いいたします。
  • verhelさん、こんにちは。NoMaYです。

    以下の2と3の時のCS+の画面コピーが見たいです。リプライに添付して頂けないでしょうか?

    > 2.プロジェクトツリー内のファイルの一部(main, ICU/PORTのuser.c/.c,など)が赤く表示

    > 3.ビルドすると、エラー「F0520005」(ソースファイルを開けない)が発生

  • NoMaYsさま

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

    画像貼り付けてみましたが、確認いただけるでしょうか?

    ソースを確認しましたが、再コード生成時に既存ファイルが消えているみたいです。

    aaa.pdf

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

    画面コピーありがとうございました。追加で、見たい画面コピーがあります。

    ・RXスマートコンフィグレータのコンソールの画面全体(コード生成開始~最後まで)を見たいです。

    また、以下のファイルをzipファイルに固めたものをリプライに添付して欲しいです。

    ・sample.mtpj
    ・sample.scfg

  • NoMaYさま

    お世話になっております。
    本件、解決いたしました。

    原因としましては、プログラムの試作/変更時で
    PC環境(CS+/スマートコンフィグレータのVer)が異なっており
    BSPファイルのVerが試作時:V5.0、変更時:V4.0だったため
    今回のコード生成時に、V5.0で追加されたファイルが消えていました。

    初歩的なミスにより
    お時間取らせてしまい申し訳ございませんでした。
    助けていただき、ありがとうございました。

    今後も質問する機会があると思いますので
    その際はよろしくお願いいたします。
  • verhelさん、こんにちは。NoMaYです。

    やはりそうでしたか。それに関して、ちょうどリプライしようとしていたところです。ですが、少し腑に落ちないことがあり、出来れば、解決後ですけれど、もう3つほど、ファイルを頂けないですか?(3つとも同じかも知れませんが。)

    ・コード生成直前のsrc\smc_gen\r_bsp\board\generic_rx111\r_bsp.h
    ・コード生成直後のsrc\smc_gen\r_bsp\board\generic_rx111\r_bsp.h
    ・ビルド開始(というかエラーで終了)後のsrc\smc_gen\r_bsp\board\generic_rx111\r_bsp.h

    以下、リプライしかけていた内容です。

    ----
    今のところの、原因の予想/推測は、以下の通りです。

    ◎smaple.mtpjファイルをセーブした時のR_BSPモジュールのバージョンはsample.scfgファイルがセーブされた時のR_BSPモジュールのバージョンよりも新しい、と思われます。

    ◎コードを再生成するとR_BSPモジュールのバージョンが逆戻りし、それに伴って生成されるファイルの種類やフォルダの構成が逆戻りしたバージョンのR_BSPモジュールのものに変化するものの、(少なくとも)src\smc_gen\r_bsp\board\generic_rx111\r_bsp.hは逆戻りしたバージョンのR_BSPモジュールのものに変化していない、と思われます
    ----

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

    あっ、今分かりました。(分かった気がします。) r_bsp.hは送って頂かなくても大丈夫です。

    (1) RXスマートコンフィグレータでR_BSPモジュールのバージョンを変更した時、ファイルの内容が変更されるのは、まさにRXスマートコンフィグレータでR_BSPモジュールのバージョンを変更した時である。

    (2) RXスマートコンフィグレータのデフォルト設定では、(上記(1)の時を除く通常のコード生成時には)FITモジュールで既に存在しているファイルは上書きしない、ようになっている。

    (3) 今回のケースでは、mtpjファイルとscfgファイルが不整合を起こしていたが、その場合、上記(2)の設定により、(あくまで通常のコード生成時なので)新旧のR_BSPモジュールで同じ場所にあるファイルは上書きされずそのまま変化しない筈である。

    [追記]

    (4) その変化しなかったr_bsp.hに、R_BSPモジュールのバージョンが逆戻りする前(つまりバージョンが新しいR_BSPモジュール)にしかないr_rx_compiler.hというヘッダファイルの#include文が存在し続けていたのに対して、そのr_rx_compiler.hというヘッダファイル自体は、R_BSPモジュールのバージョンが逆戻りした際に削除されて無くなっており、そのせいで(r_rx_compiler.hを見付けられなかったことで)ビルド時にコンパイルエラーが大量に発生することになってしまった。(r_bsp.hは、platform.h経由で、RXスマートコンフィグレータが生成した殆どすべてのCソースファイルでインクルードされています。)

  • NoMaYさま

    ご丁寧に解説いただき、ありがとうございました。
    以後、開発環境変化時にはVer確認します。

    今後は技術的な内容で質問すると思いますので
    よろしくお願いします。