2.12 CS+をコマンドラインで操作する

CS+は,コマンドライン(Windowsのコマンド・プロンプトなど)から起動したり,メイン・ウインドウを表示せずに,コマンド入力方式で操作することができます。

 

ここでは,Windowsのコマンド・プロンプトからCS+を起動するものとして説明します。

コマンド・プロンプト上で,CS+のインストール・フォルダに格納されているCubeSuite+.exe,またはCubeSuiteW+.exeを実行します。

(1)

CubeSuite+.exeを実行する場合

CubeSuite+.exeを実行する場合は,メイン・ウインドウを表示せずに,CS+の起動,プラグインの読み込み,ビルドの実行を行うことができます。

以下に,コマンドラインにおける指定形式を示します。

CubeSuite+.exe△[[[[/bb|/br|/bcb|/bc△[ビルド・モード名]]|[/cve]]]△[[/np△プラグイン名[,プラグイン名,...]]]△[/npall]△[[/lp△プラグイン名[,プラグイン名,...]]]△[/lpall]△[プラグインに対するオプション△[プラグイン・オプションのパラメータ,...]]△プロジェクト・ファイル名] 

△ : 1個以上の空白を示します。

[ ] : [ ]内は省略可能です。

| :|で区切ったオプションのうち,いずれか1つが指定可能です。

... : 直前の[ ]内のパターンの繰り返しが可能です。

 

以下に,各オプションの説明を示します。

オプション

説明

指定なし

CS+をメイン・ウインドウを表示せずに起動して,何も行わずに終了します。

/bb△[ビルド・モード名]

ビルドを実行します。

メイン・ウインドウを表示せずに,プロジェクト・ファイル名で指定したプロジェクトに含まれているすべてのプロジェクトを,ビルド・モード名で指定したビルド・モードでビルドして終了します。

ビルド・モード名で指定したビルド・モードを持たないプロジェクトの場合は,DefaultBuildをもとにビルド・モードを複製してビルドします。

ビルド・モード名で指定したビルド・モードがプロジェクト・ファイル名で指定したプロジェクトにて定義されていない場合は,エラーを表示して,処理を終了します。

ビルド・モード名を省略した場合は,DefaultBuildでビルドします。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/br△[ビルド・モード名]

リビルドを実行します。

メイン・ウインドウを表示せずに,プロジェクト・ファイル名で指定したプロジェクトに含まれているすべてのプロジェクトを,ビルド・モード名で指定したビルド・モードでビルドして終了します。

ビルド・モード名で指定したビルド・モードを持たないプロジェクトの場合は,DefaultBuildをもとにビルド・モードを複製してビルドします。

ビルド・モード名で指定したビルド・モードがプロジェクト・ファイル名で指定したプロジェクトにて定義されていない場合は,エラーを表示して,処理を終了します。

ビルド・モード名を省略した場合は,DefaultBuildでビルドします。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/bcb△[ビルド・モード名]

クリーンの後にビルドを実行します。

メイン・ウインドウを表示せずに,プロジェクト・ファイル名で指定したプロジェクトに含まれているすべてのプロジェクトを,ビルド・モード名で指定したビルド・モードでビルドして終了します。

ビルド・モード名で指定したビルド・モードを持たないプロジェクトの場合は,DefaultBuildをもとにビルド・モードを複製してビルドします。

ビルド・モード名で指定したビルド・モードがプロジェクト・ファイル名で指定したプロジェクトにて定義されていない場合は,エラーを表示して,処理を終了します。

ビルド・モード名を省略した場合は,DefaultBuildでビルドします。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/bc△[ビルド・モード名]

クリーンを実行します。

メイン・ウインドウを表示せずに,プロジェクト・ファイル名で指定したプロジェクトに含まれているすべてのプロジェクトを,ビルド・モード名で指定したビルド・モードでビルドして終了します。

ビルド・モード名で指定したビルド・モードを持たないプロジェクトの場合は,DefaultBuildをもとにビルド・モードを複製してビルドします。

ビルド・モード名で指定したビルド・モードがプロジェクト・ファイル名で指定したプロジェクトにて定義されていない場合は,エラーを表示して,処理を終了します。

ビルド・モード名を省略した場合は,DefaultBuildでビルドします。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/cve

指定したプロジェクト・ファイルから共通プロジェクト・ファイル(*.rcpe)への変換を行います。

備考

共通プロジェクト・ファイル(*.rcpe)はCS+で出力し,対応するe2 studioで読み込むことのできるプロジェクト・ファイルです。
共通プロジェクト・ファイル(*.rcpe)を読み込むには,e2 studioのインポート機能を使用します。

 

メイン・ウインドウを表示せずに,プロジェクト・ファイル名で指定したプロジェクトに含まれているすべてのプロジェクトを変換して終了します。

出力フォルダはプロジェクト・ファイル名と同じフォルダ,出力ファイル名はプロジェクト・ファイル名の拡張子を.rcpeに変えた名前です。

変換先デバイスは,変換元のプロジェクト,およびサブプロジェクトのデバイスをそのまま使用します。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

 

以下の変換をサポートします。

変換元のビルド・ツール

変換先のビルド・ツール

CA78K0R

CC-RL

/lp△プラグイン名[,プラグイン名,...]

Pluginsフォルダ以下のプラグインのうち,指定したプラグインを読み込んで,メイン・ウインドウを表示せずにCS+を起動します。

プラグイン名には,各dllファイルを格納しているフォルダ名を指定します。なお,フォルダ名の大文字/小文字は区別しません。

カンマで区切ることにより,複数プラグイン名を指定可能です。

/lpオプション自体を複数記述した場合も許容し,各DLLをロードします。

/npオプションに同名のプラグインを指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

本オプションで指定したプラグインが存在しない場合は,無視します。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/lpall

Pluginsフォルダ以下のプラグインをすべてロードする状態で,CS+をメイン・ウインドウを表示せずに起動します。

/np,または/lpオプションと同時に指定した場合は,本オプションを優先します。/npallオプションと同時に指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/np△プラグイン名[,プラグイン名,...]

Pluginsフォルダ以下のプラグインのうち,指定したプラグインを読み込まずに,メイン・ウインドウを表示せずにCS+を起動します。

プラグイン名には,各dllファイルを格納しているフォルダ名を指定します。なお,フォルダ名の大文字/小文字は区別しません。

カンマで区切ることにより,複数プラグイン名を指定可能です。

/npオプション自体を複数記述した場合も許容し,各DLLをロードしません。

/lpオプションに同名のプラグインを指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

本オプションで指定したプラグインが存在しない場合は,無視します。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

/npall

Pluginsフォルダ以下のプラグインを1つもロードしない状態で,CS+をメイン・ウインドウを表示せずに起動します。

/np,または/lpオプションと同時に指定した場合は,本オプションを優先します。/lpallオプションと同時に指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

プロジェクト・ファイル名を省略した場合は,エラーを表示して,処理を終了します。

プラグイン・オプション△[プラグイン・オプションのパラメータ,...]

プラグインに対するオプションを指定します(「(3) プラグイン・オプション」参照)。

プロジェクト・ファイル名

指定したプロジェクト・ファイルを読み込んだ状態で,CS+をメイン・ウインドウを表示せずに起動します。

備考 1.

/lp,/lpall,/np,/npallオプションを指定した場合,プラグインの管理 ダイアログの設定の変更は行いません。

備考 2.

CS+の実行中に[Ctrl]+[C]キーを押下すると,CS+を強制終了します。

 

なお,実行結果は,コマンド・プロンプト上に出力します。

図 2.107

コマンド・プロンプト(CubeSuite+.exeでビルドを実行した場合)

 

(2)

CubeSuiteW+.exeを実行する場合

CubeSuiteW+.exeを実行する場合は,[スタート]メニューから起動した場合と同様,メイン・ウインドウを表示したCS+の起動,プラグインの読み込みを行うことができます。

以下に,コマンドラインにおける指定形式を示します。

CubeSuiteW+.exe△[[/np△プラグイン名[,プラグイン名,...]]]△[/npall]△[[/lp△プラグイン名[,プラグイン名,...]]]△[/lpall]△[/noproj]△[/nrs]△[プラグインに対するオプション△[プラグイン・オプションのパラメータ,...]][△プロジェクト・ファイル名]

△ : 1個以上の空白を示します。

[ ] : [ ]内は省略可能です。

... : 直前の[ ]内のパターンの繰り返しが可能です。

 

以下に,各オプションの説明を示します。

オプション

説明

指定なし

[スタート]メニューから起動した場合と同様,CS+をメイン・ウインドウを表示して起動します。

/lp△プラグイン名△[,プラグイン名,...]

Pluginsフォルダ以下のプラグインのうち,指定したプラグインを読み込んで,メイン・ウインドウを表示してCS+を起動します。

プラグイン名には,各dllファイルを格納しているフォルダ名を指定します。なお,フォルダ名の大文字/小文字は区別しません。

カンマで区切ることにより,複数プラグイン名を指定可能です。

/lpオプション自体を複数記述した場合も許容し,各DLLをロードします。

/npオプションに同名のプラグインを指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

本オプションで指定したプラグインが存在しない場合は,無視します。

/lpall

Pluginsフォルダ以下のプラグインをすべてロードする状態で,CS+をメイン・ウインドウを表示して起動します。

不正なオプションを指定した場合は,無視します。

/np△プラグイン名△[,プラグイン名,...]

Pluginsフォルダ以下のプラグインのうち,指定したプラグインを読み込まずに,メイン・ウインドウを表示してCS+を起動します。

プラグイン名には,各dllファイルを格納しているフォルダ名を指定します。なお,フォルダ名の大文字/小文字は区別しません。

カンマで区切ることにより,複数プラグイン名を指定可能です。

/npオプション自体を複数記述した場合も許容し,各DLLをロードしません。

/lpオプションに同名のプラグインを指定した場合は,コマンドラインで後ろに指定したオプションを優先します。

本オプションで指定したプラグインが存在しない場合は,無視します。

/npall

Pluginsフォルダ以下のプラグインを1つもロードしない状態で,CS+をメイン・ウインドウを表示して起動します。

不正なオプションを指定した場合は,無視します。

/noproj

CS+の起動直後に読み込むプロジェクト(コマンドラインに指定したプロジェクト,または前回使用したプロジェクト)を読み込まずに,メイン・ウインドウを表示して起動します。

/nrs

ラピッド・スタート(「2.2 CS+を起動する」参照)によりすでに待機しているCS+が起動していても無視して,そのまま自プロセスを起動します。

プラグイン・オプション△[プラグイン・オプションのパラメータ,...]

プラグインに対するオプションを指定します(「(3) プラグイン・オプション」参照)。

プロジェクト・ファイル名

指定したプロジェクト・ファイルを読み込んだ状態で,CS+をメイン・ウインドウを表示して起動します。

備考

/lp,/lpall,/np,/npallオプションを指定した場合,プラグインの管理 ダイアログの設定の変更は行いません。

(3)

プラグイン・オプション

以下に,指定可能なプラグイン・オプションを示します。

オプション

説明

/ps△スクリプト・ファイル名

Pythonコンソール・プラグインのオプションです。

CS+でプロジェクト・ファイルを読み込んだ後,スクリプト・ファイル名に記述している内容を実行します。

不要なパラメータを指定している場合,およびスクリプト・ファイルが読み込めない場合は,エラーを表示して,スクリプト・ファイルを実行しません。

 

スクリプト・ファイルの記述例を以下に示します。

debugger.Connect()
debugger.Download.LoadModule(r"C:\project\test\DefaultBuild\test.out")
debugger.Register.GetValue("pc")
breakpoint = BreakCondition()
breakpoint.Address = "func"
debugger.Breakpoint.Set(breakpoint)
debugger.Go(GoOption.WaitBreak)
debugger.Register.GetValue("pc")