2.4.12
HEWのプロジェクトをCS+のプロジェクトに変換する
High-performance Embedded Workshop(以降,“HEW”と略します)のプロジェクトは,CS+の[プロジェクト]メニュー→[プロジェクトを開く...]でワークスペース・ファイル(*.hws),またはプロジェクト・ファイル(*.hwp)を選択することにより,CS+のプロジェクトに変換することができます。
(1) | HEWのワークスペース・ファイル(*.hws)から開く場合 |
HEWのワークスペース・ファイルを選択すると,プロジェクト変換設定 ダイアログがオープンします。
[プロジェクト]エリアに変換先プロジェクトの構成がツリー表示されますので,変換設定を行うプロジェクトを選択します。
プロジェクト名を選択すると,右側のエリアに変換先プロジェクトの設定項目が表示されます。
図 2.34 | プロジェクト変換設定 ダイアログ(メイン・プロジェクトを選択した場合) |
図 2.35 | プロジェクト変換設定 ダイアログ(サブプロジェクトを選択した場合) |
変換先プロジェクトで使用するマイクロコントローラ,セッション,およびプロジェクトの種類,名前,作成場所を設定した後,[OK]ボタンをクリックします。
注意 1. | [OK]ボタンをクリックする前に,各プロジェクトのマイクロコントローラが選択されていることを確認してください。 |
注意 2. | CPUオプション,およびセクション(start)オプションは,選択デバイスにあわせて変更しません。HEWのプロジェクトとは異なるデバイスを選択する場合は,プロジェクトを変換後,CPUオプション,およびセクション(start)オプションを確認(変更)してください。 |
注意 3. | 作成場所にネットワークパス名は使用できません。ドライブ名に割り当てて使用してください。 |
備考 1. | HEWのワークスペースにプロジェクトが1つしか存在しない場合,サブプロジェクトは表示されません。 |
備考 2. | [セッションの選択]は,プロジェクトに複数のセッションが存在する場合のみ表示されます。 |
備考 3. | [変換直後のプロジェクト構成ファイルをまとめてバックアップする]をチェックすると,変換直後のプロジェクトのソース・ファイル,およびプロジェクト一式をパックして保存することができます。 |
HEWのプロジェクトがCS+のプロジェクトに変換されます。
なお,HEWのワークスペースから開いた場合,プロジェクトは以下の規則で変換されます。
- | HEWのプロジェクトは,ワークスペース・ファイルに記載されているプロジェクト間の依存関係に応じて,メイン・プロジェクト,またはサブプロジェクトに変換されます。 |
- | プロジェクト間に依存関係がない場合は,ワークスペース・ファイル内におけるプロジェクトの出現順に,プロジェクト・ツリーに追加されます。 |
- | プロジェクト間に依存関係がある場合は,他のプロジェクトが依存していない,最初に出現するプロジェクトがメイン・プロジェクトとなります。
サブプロジェクトは,プロジェクト・ツリーの先頭からビルドするため,依存関係とは逆の順番でプロジェクト・ツリーに追加されます。
|
例 1. | プロジェクトA,B,C,Dの間に依存関係がない場合 |
例 2. | プロジェクトCがプロジェクトAに依存し,プロジェクトB,Dには依存関係がない場合 |
- | ビルド・オプションに使用していたHEWのプレースホルダは,CS+のプレースホルダに置き換わります。ただし,HEWとCS+では,ワークスペース,およびプロジェクトの概念が異なるため,変換後のプレースホルダが正しい情報を指していない場合があります。必要に応じてビルド・オプションを変更してください。 |
- | 変換後のメイン・プロジェクト・ファイル名は,“プロジェクト名.mtpj”,サブプロジェクト・ファイル名は,“プロジェクト名.mtsp”となります。 |
- | 変換後のプロジェクトでは,メイン・プロジェクトがアクティブ・プロジェクトとなります。 |
(2) | HEWのプロジェクト・ファイル(*.hwp)から開く場合 |
HEWのプロジェクト・ファイルを選択すると,プロジェクト変換設定 ダイアログがオープンします。
[プロジェクト]エリアに変換先プロジェクトの構成がツリー表示されますので,変換設定を行うプロジェクトを選択します。
プロジェクト名を選択すると,右側のエリアに変換先プロジェクトの設定項目が表示されます。
図 2.37 | プロジェクト変換設定 ダイアログ(プロジェクトを選択した場合) |
変換先プロジェクトで使用するマイクロコントローラ,セッション,およびプロジェクトの種類,名前,作成場所を設定した後,[OK]ボタンをクリックします。
注意 1. | [OK]ボタンをクリックする前に,マイクロコントローラが選択されていることを確認してください。 |
注意 2. | 作成場所にネットワークパス名は使用できません。ドライブ名に割り当てて使用してください。 |
備考 1. | [セッションの選択]は,プロジェクトに複数のセッションが存在する場合のみ表示されます。 |
備考 2. | [変換直後のプロジェクト構成ファイルをまとめてバックアップする]をチェックすると,変換直後のプロジェクトのソース・ファイル,およびプロジェクト一式をパックして保存することができます。 |
HEWのプロジェクトがCS+のプロジェクトに変換されます。
なお,HEWのプロジェクトから開いた場合,以下の規則で変換されます。
- | HEWのプロジェクトは,元のプロジェクトと同名のプロジェクトに変換されます。変換後のプロジェクト・ファイル名は,“プロジェクト名.mtpj”となります。 |
備考 1. | HEWのRXプロジェクトからCS+のRXプロジェクト,およびHEWのSuperHプロジェクトからCS+のRH850プロジェクトに変換する場合の変換対象は,HEWのプロジェクト・ファイルのファイル構成情報,コンフィグレーション,ビルド・オプション(HEWのSuperHプロジェクトからCS+のRH850プロジェクトに変換する場合は一部のみ),ファイル除外,リンク順の情報です。 |
- | HEWのプロジェクトの対象ビルド・ツールのバージョン以降から,変換後のビルド・ツールのバージョンまでの間にビルド・オプションが追加されていた場合,追加されたオプションは変換後のビルド・ツールのデフォルト値となります。 |
- | HEWのプロジェクトのコンフィグレーションは,変換後,CS+のビルド・モードに置き換わります。ただし,CS+におけるフォルダ名として使用できない文字(\,/,:,*,?,",<,>,|)が含まれている場合は,“_”に置き換えます。
デフォルトで選択されるビルド・モードは,プロジェクトに対応するプロジェクト・テンポラリ・ファイル(プロジェクト名.tps)から決定されますが,プロジェクト・テンポラリ・ファイルが存在しない場合は“DefaultBuild”となります。
コンフィグレーションなどでビルド対象ファイルを切り替えているプロジェクトは変換できません。
|
- | HEWのプロジェクトでリンク順が設定されている場合は,その設定を引き継ぎます。
リンク順は,ビルド・モードごとに異なる設定が可能なため,ビルド・モードごとに変換します。
HEWのプロジェクトでリンク順が設定されていない場合は,アルファベット順で設定します。
|
- | HEWのプロジェクトのツリー表示においてファイルをフォルダに分類している場合,変換後,フォルダはCS+のカテゴリに置き換わります。
フォルダ(カテゴリ)が20以上ネストしている場合,20段目以降は無視し,フォルダに追加されていたファイルは20段目のカテゴリに追加されます。
|
備考 2. | HEWのRXプロジェクトからCS+のRXプロジェクト,およびHEWのSuperHプロジェクトからCS+のRH850プロジェクトに変換する場合以外の変換対象は,HEWのプロジェクト・ファイルのファイル構成情報のみです。 |
備考 4. | HEW V.4.07以上で作成されたプロジェクトの変換をサポートします。
サポートするHEWのビルド・ツールのバージョンを以下に示します。
|
- | NC308 V.5.20 Release 1以上 |
- | NC100 V.1.01 Release 00以上 |
- | CCRX V.1.00 Release 00以上 |
- | HEWの設定ファイル(tpsファイル)が存在していないプロジェクト(tpsファイルは,HEWで一度開くと自動生成されます。)
プロジェクト変換前に一度プロジェクトをHEWで開くことで解決できます。
|
- | ルネサス エレクトロニクス社製リアルタイムOSの設定ファイル(cfgファイル)が複数存在しているプロジェクト |
備考 6. | 変換対象は,ルネサス エレクトロニクス 社製のコンパイラのHEWのプロジェクト・ファイルのみです。 |
備考 7. | 以下の場合,CS+用のプロジェクトへ変換はできますが,ビルド実行でエラーが発生します。 |
- | プレースホルダ($(TCINSTALL))を使用しているプロジェクト
$(TCINSTALL)は,変換後のプロジェクトにそのまま残ります。CS+は,$(TCINSTALL)を解釈できません。オプションのパラメータに$(TCINSTALL)を使用していた場合は,そのままオプションに渡されますので意図したビルド結果を得られない可能性があります。(ビルドでエラーが発生するなど)
$(TCINSTALL)をプロジェクト変換後に,ユーザ自身で変更してください。
|
- | プレースホルダ($(WORKSPDIR))を使用しているプロジェクト
プロジェクト・ファイル(拡張子hwp)を指定して変換した場合,「%ProjectDir%\..」(プロジェクト・フォルダの1つ上のフォルダ)に固定で変換します。プロジェクト・フォルダの1つ上のフォルダにワークスペースがない場合は,正しいフォルダを示さなくなりますので,ビルドでエラーが発生することがあります。その場合,プロジェクト変換後に「%ProjectDir%\..」を,ユーザ自身で変更してください。
|
- | カスタム・ビルド・フェーズを使用しているプロジェクト
カスタム・ビルド・フェーズは,削除されます。カスタム・ビルド・フェーズは,ビルド時に実行されなくなります。よって,カスタム・ビルド・フェーズで生成されたファイル出力を使用している場合はビルド・エラーとなる可能性があります。プロジェクト変換後に,カスタム・ビルド・フェーズのコマンドを,各フェーズの前後実行コマンドに必要に応じて登録してください。
|
- | カスタムプレースホルダを使用しているプロジェクト
カスタムプレースホルダは変換しません。CS+は,カスタムプレースホルダを解釈できません。オプションのパラメータにカスタムプレースホルダを使用していた場合は,そのままオプションに渡されますので意図したビルド結果を得られない可能性があります。(ビルドでエラーが発生するなど)
プロジェクト変換後に,カスタムプレースホルダを,ユーザ自身で変更してください。
|
- | $(FILEDIR)は,%FileDir%へ変換します。
変換後,パス編集 ダイアログでパス編集するとき,%FileDir%により以下のエラーが発生します。
|
指定したパスに存在しないフォルダが含まれています。(W0205012)
プロパティを編集する場合,%FileDir%を別のプレースホルダまたはディレクトリに置き換えてください。
- | $(WINDIR)は,%WinDir%へ変換します。 |
- | HEWのプロジェクトでダウンロード・ファイルを指定している場合,変換後は各デバッグ・ツールのダウンロード・ファイル一覧の2番目以降に登録します。 |
- | コンパイル・オプション-output=srcは,-output=obj(デフォルト)へ変換します。 |
- | ライブラリ・プロジェクトを変換時,ライブラリが標準ライブラリをリンクしていた場合は,そのリンク設定を破棄します。(変換ログに出力されます) |
- | ライブラリジェネレータで「既存標準ライブラリファイル指定」を指定していた場合,「標準ライブラリ・ファイル指定なし」に変更します。結果,指定していたライブラリがリンクされません。(変換ログに出力されます) |
- | HEWの「全般」タブのオプションは変換せずに破棄します。 |
- | リンカでサブコマンドファイルを指定していた場合,変換後「サブコマンドファイルを使用する」設定を破棄してリンカのオプション設定をデフォルトにします。 |
- | リンカの-library,-input,-binaryオプションで指定したファイルは,リンク順設定 ダイアログのファイルリストに表示しません。リンク順の指定対象外になります。 |
- | RTOSのコンフィグレーションファイルは,変換後に「Configuration file」カテゴリ・ノードの下に表示しません。 |
- | RTOSオプションは変換せずに破棄します。オプション設定はデフォルトになります。 |
- | RTOSプロジェクトのビルド・モードは,プロジェクト変換後「DefaultBuild」になります。
変換後,ビルド・モードを変更してください。
|
- | RTOSプロジェクトのアセンブラ出力ファイル(ritbl.obj)のリンク順がプロジェクト変換後HEWと異なります。 |
備考 9. | HEWのプロジェクトをCS+のプロジェクトに変換した結果は,プロジェクト変換情報としてファイルに出力されます。 |
- | プロジェクト変換情報ファイル名は,“プロジェクト変換情報_プロジェクト名.txt”となります。 |
- | プロジェクト変換情報ファイルは,変換後の各プロジェクト(サブプロジェクト)ごとに出力されます。 |
- | プロジェクト変換情報ファイルの出力先は,各プロジェクト(サブプロジェクト)のプロジェクト・フォルダです。 |
- | 出力されたプロジェクト変換情報ファイルは,プロジェクト・ツリー パネルにおいて,各プロジェクト(サブプロジェクト)のファイル・ノードにも表示されます。 |
プロジェクト変換情報ファイルの出力例を以下に示します。
(1)<利用しないオプション(ビルド・モード名)>
ツール名(CS+のビルド・ツールのプロパティのタブ)
オプション
:
ツール名(CS+のビルド・ツールのプロパティのタブ:ファイル名)
オプション
:
(2)<変更したオプション(ビルド・モード名)>
ツール名(CS+のビルド・ツールのプロパティのタブ)
HEWプロジェクトのオプション -> CS+プロジェクトのオプション
:
ツール名(CS+のビルド・ツールのプロパティのタブ:ファイル名)
HEWプロジェクトのオプション -> CS+プロジェクトのオプション
:
|
|
|
|
利用しないオプション(ビルド・モード名)
HEWプロジェクトで設定していたが,CS+プロジェクトでは利用しないオプション(コンパイラ・パッケージのバージョンアップに伴い削除されたオプション,およびHEW自身のオプション)が存在する場合,その情報をビルド・モードごとに以下の形式で出力します。
ツール名(CS+のビルド・ツールのプロパティのタブ名)
オプション
:
ただし,個別コンパイル・オプションの場合は,以下の形式で出力します。
ツール名(CS+のビルド・ツールのプロパティのタブ名:ファイル名)
オプション
:
- | ビルド・モードは,“Debug Build”,“Release Build”,ユーザ作成ビルド・モードの順に出力されます(“Debug Build”,“Release Build”は,HEWがデフォルトで用意しているビルド・モードで,これらはデバッグ情報を出力するオプションの有無の点で異なります)。 |
- | ツール名に該当するCS+のビルド・ツールのプロパティのタブ名が存在しない場合は,“その他のオプション”を出力します。 |
|
|
変更したオプション(ビルド・モード名)
HEWプロジェクトで設定していたオプションで,CS+プロジェクトで利用するために変更したオプション(パラメータの指定可能範囲が変更されたオプション,コンパイラ・パッケージのバージョンアップに伴い変更されたオプション)が存在する場合,ビルド・モードごとに以下の形式で出力します。
ツール名(CS+のビルド・ツールのプロパティのタブ名)
HEWプロジェクトのオプション -> CS+プロジェクトのオプション
:
ただし,個別コンパイル・オプションの場合は,以下の形式で出力します。
ツール名(CS+のビルド・ツールのプロパティのタブ名:ファイル名)
HEWプロジェクトのオプション -> CS+プロジェクトのオプション
:
- | ビルド・モードは,“Debug Build”,“Release Build”,ユーザ作成ビルド・モードの順に出力されます(“Debug Build”,“Release Build”は,HEWがデフォルトで用意しているビルド・モードで,これらはデバッグ情報を出力するオプションの有無の点で異なります)。 |
- | ツール名に該当するCS+のビルド・ツールのプロパティのタブ名が存在しない場合は,“その他のオプション”を出力します。 |
|