第18章 コンフィギュレータCF850V4
本章では,RI850V4がシステム構築時に有益なユーティリティ・ツールとして提供しているコンフィギュレータCF850V4について解説しています。
RI850V4が提供している機能を利用したシステム(ロード・モジュール)を構築する場合,RI850V4に提供するデータを保持した情報ファイルが必要となります。
基本的に情報ファイルは,規定された形式のデータ羅列であるため,各種エディタを用いて記述することは可能です。しかし,情報ファイルは,記述性/可読性の面で劣ったものとなっているため,記述に際してはかなりの時間と労力を必要とします。
そこで,RI850V4では,記述性/可読性の面で優れたシステム・コンフィギュレーション・ファイルから情報ファイルへと変換するユーティリティ・ツール(コンフィギュレータCF850V4)を提供しています。
CF850V4は,システム・コンフィギュレーション・ファイルを入力ファイルとして読み込んだあと,情報ファイルを出力します。
以下に,CF850V4が出力する情報ファイルについて示します。
- システム情報テーブル・ファイル
RI850V4が動作するうえで必要となるOS資源(基本クロック周期,最大タスク優先度,管理オブジェクトなど)に関するデータを保持した情報ファイルです。
- システム情報ヘッダ・ファイル
システム・コンフィギュレーション・ファイルに記述されたオブジェクト名(タスク名,セマフォ名など)とIDの対応付けを保持した情報ファイルです。
- エントリ・ファイル
EIレベル・マスカブル割り込みが発生した際にCPUが強制的に制御を移すハンドラ・アドレスに対して該当処理(割り込み前処理“_kernel_int_entry”)への分岐処理を保持したエントリ処理専用ルーチン(
割り込みエントリ処理)です。
以下に,CF850V4をコマンド・ラインから起動する際の起動方法を示します。
ただし,入力例中の“C>”はコマンド・プロンプトを,“△”はスペース・キーの入力を,“[Enter]”はエンター・キーの入力を表しています。
また,“[ ]”で囲まれた起動オプションは,省略可能な起動オプションであることを表しています。
C> cf850v4△[@< command file>]△ [-peid=< id>] △[-cpu△< name>]△[-devpath=< path>]△[-i△< SIT file>]△[-e△< Entry file>]△[-d△< Header file>]△[-ni]△[-ne]△[-nd]△[-t△< TOOL name>]△[-T△< Compiler path>]△[-I△< Include path>]△[-np]△[-intbp=< Interrupt Base Address>]△[-ebase=< Exception Base Address>]△[-V]△[-help]△< CF file>[Enter]
|
- @<
command file>
コマンド・ファイル名を指定します。
省略時 コマンド・ライン上で指定された起動オプションが有効となります。
備考1 コマンド・ファイル名<
command file>として指定可能な文字数は,パスを含めて255文字以内に限られます。
備考2 コマンド・ファイル名(パスを含む)にスペースが含まれる場合,<
command file>をダブルクォーテーション(")で括る必要があります。
- -peid=<
id>
RI850V4を組み込む対象となるPE番号を指定します。
省略時 -peid=
1が指定されていたものとして処理を行います。
備考1 -cpuオプションを省略していた場合,本起動オプションの指定を無視し,シングルコア用の情報ファイルを出力します。
備考2
<id>に指定可能な値は“1〜ターゲット・デバイスに存在する最大PE番号”までとなります。
- -cpu△<
name>
ターゲット・デバイスの品種指定名(デバイス・ファイル名の先頭文字“d”,および拡張子部“.dvf”を除いた文字列)を指定します。
省略時 使用するコンパイラがCC-RHの場合,CF850V4の起動オプションとして-neの指定が必須となります。
備考1 デバイス・ファイル名がdr7f701z03.dvfの場合,<
name>に指定する文字列はr7f701z03になります。
備考2 -peid=<
id>を指定した場合,指定されたPE番号に対応した情報をデバイス・ファイルから読み込みます。
- -devpath=<
path>
-cpu△<
name>で指定されたターゲット・デバイスに対応したデバイス・ファイルを<
path>フォルダから検索します。
省略時 カレント・フォルダに対して検索処理を行います。
備考1 検索パス<
path>として指定可能な文字数は,255文字以内に限られます。
備考2 検索パスにスペースが含まれる場合,<
path>をダブルクォーテーション(")で括る必要があります。
- -i△<
SIT file>
CF850V4からの出力ファイル名(システム情報テーブル・ファイル名)を指定します。
省略時 以下に示した起動オプションが指定されていたものとして処理を行います。
REL製コンパイラを使用(CC-RH) : -i△sit.s
GHS製コンパイラを使用(CCV850) :-i△sit.850
備考1 出力ファイル名<
SIT file>として指定可能な文字数は,パスを含めて255文字以内に限られます。
備考2 出力ファイル名(パスを含む)にスペースが含まれる場合,<
SIT file>をダブルクォーテーション(")で括る必要があります。
備考3 本起動オプションと-niが同時に指定された場合,-niを有効起動オプションとして扱います。
- -e△<
Entry file>
CF850V4からの出力ファイル名(エントリ・ファイル名)を指定します。
省略時 以下に示した起動オプションが指定されていたものとして処理を行います。
REL製コンパイラを使用(CC-RH) : -e△entry.s
GHS製コンパイラを使用(CCV850) :-e△entry.850
備考1 出力ファイル名<
Entry file>として指定可能な文字数は,パスを含めて255文字以内に限られます。
備考2 出力ファイル名(パスを含む)にスペースが含まれる場合,<
Entry file>をダブルクォーテーション(")で括る必要があります。
備考3 本起動オプションと-neが同時に指定された場合,-neを有効起動オプションとして扱います。
- -d△<
Header file>
CF850V4からの出力ファイル名(システム情報ヘッダ・ファイル名)を指定します。
省略時 -d△kernel_id.hが指定されていたものとして処理を行います。
備考1 出力ファイル名<
Header file>として指定可能な文字数は,パスを含めて255文字以内に限られます。
備考2 出力ファイル名(パスを含む)にスペースが含まれる場合,<
Header file>をダブルクォーテーション(")で括る必要があります。
備考3 本起動オプションと-ndが同時に指定された場合,-ndを有効起動オプションとして扱います。
- -ni
システム情報テーブル・ファイルの出力を抑制します。
省略時 システム情報テーブル・ファイルの出力を行います。
備考 本起動オプションと-i△<
SIT file>が同時に指定された場合,本起動オプションを有効起動オプションとして扱います。
備考 本起動オプションと-e△<
Entry file>が同時に指定された場合,本起動オプションを有効起動オプションとして扱います。
- -nd
システム情報ヘッダ・ファイルの出力を抑制します。
省略時 システム情報ヘッダ・ファイルの出力を行います。
備考 本起動オプションと-d△<
Header file>が同時に指定された場合,本起動オプションを有効起動オプションとして扱います。
- -t△<
TOOL name>
ユーザが使用するコンパイラ・パッケージの種類を指定します。
なお,<
TOOL name>として指定可能なキーワードは,RELまたはGHSに限られます。
省略時 -t△RELが指定されていたものとして処理を行います。
- -T△<
Compiler path>
-t△<
TOOL name>で指定されたコンパイラ・パッケージのプリプロセッサを<
Compiler path>フォルダから検索します。
省略時 環境変数(PATHなど)で定義されているフォルダを検索対象フォルダとして処理を行います。
備考1 検索パス<
Compiler path>として指定可能な文字数は,255文字以内に限られます。
備考2 検索パスにスペースが含まれる場合,<
Compiler path>をダブルクォーテーション(")で括る必要があります。
- -I△<
Include path>
ヘッダ・ファイル情報で指定されたヘッダ・ファイルを<
Include path>フォルダから検索します。
省略時 <
CF file>で指定された入力ファイルが格納されているフォルダ,カレント・フォルダ,-t△<
TOOL name>で指定されたコンパイラ・パッケージのデフォルト検索対象フォルダの順序で検索処理を行います。
備考1 検索パス<
Include path>として指定可能な文字数は,255文字以内に限られます。
備考2 検索パスにスペースが含まれる場合,<
Include path>をダブルクォーテーション(")で括る必要があります。
- -np
CF850V4によるシステム・コンフィギュレーション・ファイルの構文解析処理が完了した際,プリプロセッサの起動を抑制します。
省略時 -t△
toolで指定されたコンパイラ・パッケージのプリプロセッサを起動します。
- -intbp=<
Interrupt Base Address>
テーブル参照方式のエントリ・ファイルを出力する際に必要となる割り込みハンドラ・アドレス・テーブルのベース・アドレスを指定します。
省略時 本起動オプションと-ebase=<
Exception Base Address>の両起動オプションが省略された場合,エントリ・ファイルの出力方式としてリセット・ベクタ・アドレスをベースとした直接ベクタ方式が選択されていたものとして処理を行います。
リセット・ベクタ・アドレスの値は-cpu△<
name>で指定されたデバイス・ファイルに定義されているデフォルト値が設定されます。デバイス・ファイルからリセット・ベクタ・アドレスの値が取得できない場合はエラーとなります。
備考1 ベース・アドレス<
Interrupt Base Address>として指定可能な値は,0x200〜0xfffff800に限られます。
備考2 本起動オプションと-ebase=<
Exception Base Address>が同時に指定された場合,本起動オプションを有効起動オプションとして扱います。
- -ebase=<
Exception Base Address>
直接ベクタ方式のエントリ・ファイルを出力する際に必要となる例外ハンドラ・ベクタ・アドレスを指定します。
省略時 本起動オプションと-intbp=<
Interrupt Base Address>の両起動オプションが省略された場合,エントリ・ファイルの出力方式としてリセット・ベクタ・アドレスをベースとした直接ベクタ方式が選択されていたものとして処理を行います。
リセット・ベクタ・アドレスの値は-cpu△<
name>で指定されたデバイス・ファイルに定義されているデフォルト値が設定されます。デバイス・ファイルからリセット・ベクタ・アドレスの値が取得できない場合はエラーとなります。
備考1 ベクタ・アドレス<
Exception Base Address>として指定可能な値は,0x200〜0xfffffe00に限られます。
備考2 本起動オプションと-intbp=<
Interrupt Base Address>が同時に指定された場合,-intbp=<
Interrupt Base Address>を有効起動オプションとして扱います。
- -V
CF850V4のバージョン情報を標準出力に出力します。
備考 本起動オプションを指定した場合,ほかの起動オプションはすべて無効となり,情報ファイルの出力が抑制されます。
- -help
CF850V4の起動オプションに関する情報(種類,用途など)を標準出力に出力します。
備考 本起動オプションを指定した場合,ほかの起動オプションはすべて無効となり,情報ファイルの出力が抑制されます。
- <
CF file>
CF850V4への入力ファイル名(システム・コンフィギュレーション・ファイル名)を指定します。
備考1 入力ファイル名<
CF file>として指定可能な文字数は,パスを含めて255文字以内に限られます。
備考2 入力ファイル名(パスを含む)にスペースが含まれる場合,<
CF file>をダブルクォーテーション(")で括る必要があります。
備考3 本入力ファイル名の指定は,-V,または-helpの指定時以外に省略することはできません。
CF850V4では,コマンド・ライン上で指定可能な起動オプションの文字数制限を解消する目的からコマンド・ファイル対応を行っています。
1 ) 文字コード
コマンド・ファイルは,ASCIIコードで記述します。
備考 コメントに限り,Shift-JIS,EUC-JPの記述が可能です。
2 ) コメント
行頭に#が記述された行は,コメントとして扱われます。
3 ) 区切り文字
スペース,タブ,改行は,区切り文字として扱われます。
4 ) 最大行数
コマンド・ファイルの最大行数は,50行となっています。
5 ) 最大文字数
コマンド・ファイルの1行に対する最大文字数は,16384文字となっています。
なお,以下の記述例では,次に示す起動オプションが記述されています。
デバイス・ファイルの検索パス: C:
\CS+
\CC
\Device
\RH850
\Devicefile
システム情報ヘッダ・ファイル: kernel_id.h
プリプロセッサの検索パス: C:
\CS+
\CC
\CC-RH
\V1.00.00
\bin
ヘッダ・ファイルの検索パス: C:
\tmp
\inc850,およびC:
\Program Files
\Sample
\include
システム・コンフィギュレーション・ファイル: sys.cfg
# Command File
-cpu rf701z03
-devpath=C:\CS+\CC\Device\RH850\Devicefile
-i sit.s
-e entry.s
-d kernel_id.h
-t REL
-T C:\CS+\CC\CC-RH\V1.00.00\bin
-I C:\tmp\inc850
-I “C:\Program Files\Sample\include“
-ebase=0x200
sys.cfg
|
以下に,CF850V4のコマンド入力例を示します。
ただし,入力例中の“C>”はコマンド・プロンプトを,“△”はスペース・キーの入力を,“[Enter]”はエンター・キーの入力を表しています。
1 ) システム・コンフィギュレーション・ファイルsys.cfgをカレント・フォルダから,品種指定名r7f701z03に対応したデバイス・ファイルをフォルダ“C:
\CS+
\CC
\Device
\RH850
\Devicefile”から入力ファイルとして読み込んだあと,システム情報テーブル・ファイルsit.s,直接ベクタ方式のエントリ・ファイル(ベクタ・アドレス:0x200)entry.s,システム情報ヘッダ・ファイルkernel_id.hを出力します。
なお,ルネサス エレクトロニクス製コンパイラ・パッケージに内包されているプリプロセッサに対するコマンド検索処理は,以下に示した順序で行われ,CF850V4によるシステム・コンフィギュレーション・ファイルの構文解析処理完了時に,該当プリプロセッサが起動されます。
1. C:
\CS+
\CC
\CC-RH
\V1.00.00
\bin
2. 環境変数(PATHなど)で定義されているフォルダ
また,
ヘッダ・ファイル情報で指定されたヘッダ・ファイルに対するファイル検索処理は,以下に示した順序で行われます。
2. C:
\Program Files
\Sample
\include
C> cf850v4△-cpu△rf701z03△-devpath=C: \CS+ \CC \Device \RH850 \Devicefile△-i△sit.s△-e△entry.s△-d△kernel_id.h△-t△REL△-T△C: \CS+ \CC \CC-RH \V1.00.00 \bin△-I△C: \tmp \inc850 △-I△"C: \Program Files \Sample \include"△-ebase=0x200△sys.cfg[Enter]
|
2 ) CF850V4のバージョン情報を標準出力に出力します。
3 ) CF850V4の起動オプションに関する情報(種類,用途など)を標準出力に出力します。