Renesas Synergy™

FAQ 1010033 : High-performance Embedded WorkshopのプロジェクトをCubeSuite+ V1.01でプロジェクト変換後、ビルドを実行するとエラーが発生しました。

回答

High-performance Embedded Workshopのプロジェクトが、以下のいずれかの条件を満たしている場合、CubeSuite+ V1.01でプロジェクトを変換した後、ビルドを実行するとエラーが発生します。

  1. カスタムビルドフェーズを使用したプロジェクト
  2. $(WORKSPDIR)プレースホルダを使用したプロジェクト
  3. Lセクションが生成されるプロジェクト
  4. リアルタイムOS(RI600/4)のプロジェクト

以下に各プロジェクトの詳細を説明します。

  1. カスタムビルドフェーズを使用したプロジェクト

    High-performance Embedded Workshopのプロジェクトでカスタムビルドフェーズを使用していた場合、CubeSuite+のプロジェクトへ変換可能ですが、カスタムビルドフェーズは変換先プロジェクトで削除されます。

    注: カスタムビルドフェーズが削除されたことは、変換ログやメッセージなどにより通知されませんのでご注意願います。

    High-performance Embedded Workshopのカスタムビルドフェーズと類似の機能がCubeSuite+にあります。ただし、カスタムビルドフェーズとは仕様が異なるため、カスタムビルドフェーズの使われ方によって、変換後のビルド時にエラーが発生する場合があります。したがって、プロジェクト変換では、カスタムビルドフェーズの情報を削除しています。

    変換後にHigh-performance Embedded Workshopのカスタムビルドフェーズと同等のビルドを実行するには、各フェーズ(コンパイル、アセンブル、リンク)の前後でコマンドを実行する機能に、High-performance Embedded Workshopのカスタムビルドフェーズで実行していたコマンドを登録して、ビルド時に実行できるようにしてください。

  2. $(WORKSPDIR)プレースホルダを使用したプロジェクト

    High-performance Embedded Workshopのプロジェクトで$(WORKSPDIR)プレースホルダを使用していた場合で、かつHign-performance Embedded Workshopのワークスペースとプロジェクトのフォルダが2階層以上離れている場合に、ビルド時にエラーが発生する場合があります。

    プロジェクト変換時、$(WORKSPDIR)は「%ProjectDir%\..(プロジェクトの1つ上のフォルダ)」に変換されます。ワークスペースとプロジェクトが2階層以上離れている場合、 変換後の「%ProjectDir%\..」は正しいフォルダを指しません。

    変換後に正しいフォルダを指すように修正してください。

    なお、本現象はCubeSuite+ V1.02で改善予定です。

  3. Lセクションが生成されるプロジェクト

    High-performance Embedded Workshopのプロジェクトを変換後、ビルドを実行するとリンカで以下のエラーが発生してオブジェクトを生成できない場合があります。

    --------------------------------------------------
    ** L1120 (W) Section address is not assigned to "L"
    ** L3100 (F) Section address overflow out of range : "L"
    --------------------------------------------------

    Lセクションは、RXC V1.01.00から最適化の効果を向上させるため文字列リテラルを出力するセクションとして追加されました。従来Cセクションに出力されていましたが、Lセクションに出力するためビルド実行時に上記のメッセージが出力されます。

    変換後にCubeSuite+のビルド・ツールプロパティで以下のとおりオプション設定してビルドを実行してください。

    1. "コンパイラ・オプション"タブにあるオブジェクトカテゴリ - 「リテラル領域のセクション名」を"L"から"C"に変更
    2. "標準ライブラリ・オプション"タブにある その他カテゴリ - [その他の追加オプション]に -section=L=C を追加
  4. リアルタイムOS(RI600/4)のプロジェクト

    変換直後のビルドモードは"DefaultBuild"となっていますが、"DefaultBuild"には変換前のHigh-performance Embedded Workshopのプロジェクト設定は継承されていません。変換前のプロジェクト設定は、High-performance Embedded Workshopの"コンフィギュレーション"と同じ名称のビルドモードに継承されています。 このため、"DefaultBuild"のままビルドを行うとエラーが発生します。プロジェクト設定が継承されているビルドモードに切り替えてから、ビルドを行ってください。

適用製品

RX ファミリ
Renesas Starter Kit for RX630
Renesas Starter Kit for RX210
Renesas Starter Kit+ for RX62N
Renesas Starter Kit for RX610
Renesas Starter Kit for RX62T
CS+ (旧 CubeSuite+)
High-performance Embedded Workshop
RXファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください