Bluetooth® Low Energy プロトコルスタック Embedded構成サンプルプログラム ビルドエラー

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

RL78/G1D(256kB)を用いたBLE Embeded構成を行いたいと思いまずはサンプルを試そうとしたのですが、メイクファイルのエラーによりビルドできません。

以下のURLがサンプルプログラムです。

https://www.renesas.com/jp/ja/doc/products/mpumcu/apn/rl78/002/r01an3319jj0120-embsmp.pdf

https://www.renesas.com/jp/ja/software/D6000906.html

PDFにあるようにBLEプロトコルスタックとEEPROMエミュレーションライブラリをインストールしてe2studioでビルドを行いました。

当初はe2studiov7.1.0 CCRL1.07で行っていたのですが以下の通りmakafileエラーが出ました。

make: *** No rule to make target 'C:/src/driver/led/led.c', needed by 'Project_Source/renesas/src/driver/led/led.obj'. Stop.

そこでPDFにあったサンプルプログラムの環境通りe2stuidov4.3.1.001,CCRL1.03で行ったところ以下の様なエラーがでました。

make: *** No rule to make target 'C:/src/driver/wakeup/wakeup.c', needed by 'Project_Source/renesas/src/driver/wakeup/wakeup.obj'.  Stop.

原因は何なのでしょうか?ご教授よろしくお願いいたします。以下のファイルは実際にe2studioで使用しているサンプルプログラムです。

BLE_Embedded_for_Central.zip

Parents
  • hiroさん、
    「これは、makeがターゲットのビルドが必要であると判断したものの、 どのようにするかの明示的あるいは暗黙の命令(デフォルトのルールデータベースも 含めて)をmakefileで発見できないことを意味しています。
    ファイルのビルドを望む場合、ターゲットがどのようにビルドされるかを記述した ルールをmakefileに追加する必要があります。ほかに考えられる問題の原因は makefileのなかのタイポ(ファイル名が違うなど)、あるいはソースツリーの 不完全さ(ビルドの不要なファイルで、必要条件だけの場合)などです。」
    とあったので、ビルド環境のフォルダー構成とmakeファイルの中のパス(ビルドオプション等)が矛盾をしていないのか調べてみてください。
  • IKUZOさん、御返信ありがとうございました。
    仰る通りそもそもフォルダー構成に問題がありました。
    e2studioのプロジェクトツリーからソースを見ようとしたら「ファイルが見つかりません」と出てきました。
    workspace内のディレクトリをみるとそもそもソースコードの類がちゃんとインポートされていないようでした。
    e2studioのプロジェクトツリーにはソースのファイル名はあるので、どうもプロジェクトの設定のみインポートしているようです。
    インポート機能で引っ張ってきたのですがなぜでしょうか?勿論インポート先の元のディレクトリにはソースコード類はちゃんとあります。
    ちなみにCS+forCCで同様にインポートすると正しく持ってくることができ、ビルドも行えました。
    しかし少々事情がありまして、できることならe2studioでの開発を行いたいです。
  • hiroさん
    ほや です。こんにちは。

    driverフォルダ内のソースがないと言われているようですが、ひょっとしたらマニュアルに書いてある:

    2. BLEプロトコルスタックを解凍し、サンプルプログラムのソースコードディレクトリ(Project_Source)をBLE_Software_Ver_X_XX¥RL78_G1D¥Project_Sourceに上書きしてください。

    をやっていないのでは?
    自分はやったらビルドできたので、それではないかと (サンプルのうちアプリ部のコードは修正必要かもしれません)

  • hiro さん
    > e2studioのプロジェクトツリーにはソースのファイル名はあるので、どうもプロジェクトの設定のみインポートしているようです。
    >インポート機能で引っ張ってきたのですがなぜでしょうか?

    インポート時に「プロジェクトをコピーする」のチェックを付けたのではないでしょうか。
    そうするとプロジェクトフォルダ(.cprojectのあるフォルダ)の中身だけが引き出されます。
    プロジェクトがどのファイルを参照しているかは、include 参照パスの設定やらmakefileの記述やらを見ないとどこまで引っ張って来れば分からないのでそうなっているのでしょう。
    フォルダ構造を保ったままインポートするには、ファイルを展開した状態で「プロジェクトをコピーする」のチェックを外して既存プロジェクトのインポートをするか、インポートの別メニューにある「フォルダーまたはアーカイブ由来のプロジェクト」を使って丸ごと取り込む方法があります。

Reply
  • hiro さん
    > e2studioのプロジェクトツリーにはソースのファイル名はあるので、どうもプロジェクトの設定のみインポートしているようです。
    >インポート機能で引っ張ってきたのですがなぜでしょうか?

    インポート時に「プロジェクトをコピーする」のチェックを付けたのではないでしょうか。
    そうするとプロジェクトフォルダ(.cprojectのあるフォルダ)の中身だけが引き出されます。
    プロジェクトがどのファイルを参照しているかは、include 参照パスの設定やらmakefileの記述やらを見ないとどこまで引っ張って来れば分からないのでそうなっているのでしょう。
    フォルダ構造を保ったままインポートするには、ファイルを展開した状態で「プロジェクトをコピーする」のチェックを外して既存プロジェクトのインポートをするか、インポートの別メニューにある「フォルダーまたはアーカイブ由来のプロジェクト」を使って丸ごと取り込む方法があります。

Children
No Data