Nios® V プロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 7/08/2024
Public
ドキュメント目次

16.5.4.2. add_sw_setting

使用方法

add_sw_setting <type><destination><displayName><identifier><value><description>

オプション

  • <type>: 設定タイプは Boolean、QuotedString、UnquotedString です。
  • <destination>: 設定に関連付けられたデスティネーション BSP ファイル、またはこの設定を処理するモジュール・ジェネレーター。
  • <displayName>: 設定名。
  • <identifier>: 生成された宛先ファイル用に作成されたマクロの名前。
  • <value>: 設定のデフォルト値。
  • <description>: 設定の説明。

詳細

このコマンドは、ソフトウェア・パッケージまたはデバイスドライバーに関連付けられた BSP 設定を作成します。 この設定は、ソフトウェア・パッケージまたはデバイスドライバーが BSP に存在する場合はいつでも使用できます。niosv-bspは、設定とその値を C プリプロセッサー・マクロまたは BSP Makefile 変数に変換します。add_sw_settingは、-Dコマンド・ライン・オプションを使用してマクロ定義をコンパイラーに渡すか、マクロ定義を#defineステートメントとしてsystem.hファイルに追加します。

ソフトウェア・パッケージのインスタンスが複数ある場合でも、設定は 1 回だけ存在します。 BSP Tcl コマンドset_settingおよびget_settingを使用して、設定を設定または取得できます。 設定の値は BSP 設定ファイルに保持されます。

設定を作成するには、次の各パラメータを定義する必要があります。
  • type—このパラメータは、BSP 生成中に設定値をフォーマットします。 次のサポートされているタイプと使用制限が適用されます。
    • boolean_define_only—設定値が 1 または true の場合、マクロを定義します。 例:#define LCD_PRESENT設定値が 0 または false の場合、マクロは定義されません。 この設定タイプは、以下に定義されている system_h_define およびpublic_mk_define宛先をサポートします。
    • boolean—マクロまたはメイクファイル変数を定義し、それを 1 (値が 1 または true の場合) または 0 (値が 0 または false の場合) に設定します。 例:#define LCD_PRESENT 1このタイプはすべての宛先をサポートします。
    • character—マクロを単一引用符で囲んだ単一の文字として定義します。 例:#define DELIMITER ':' このタイプは、以下に定義されているsystem_h_define宛先をサポートします。
    • decimal_number—マクロまたは Makefile 変数を定義し、引用符で囲まれていない 10 進数 (整数) を設定します。 例:#define NUM_COPROCESSORS 3このタイプはすべての宛先をサポートします。
    • double—マクロ名を定義し、小数点付きの値を設定します。 例: #define PI 3.1416このタイプは、以下に定義されているsystem_h_define宛先をサポートします。
    • float—マクロ名を定義し、小数点とf文字を含む値に設定します。 例:#define PI 3.1416fこのタイプは、以下に定義されているsystem_h_define宛先をサポートします。
    • hex_number—マクロ名を定義し、値の先頭に 0x を付けた値に設定します。 例:#define LCD_SIZE 0x1000このタイプは、以下に定義されているsystem_h_define宛先をサポートします。
    • quoted_string—引用符で囲まれた文字列には、常にマクロ名と設定値が宛先ファイルに追加されます。 保存先では、設定値を引用符で囲みます。 例:#define DFLT_ERR "General error"
設定値に空白が含まれている場合は、Tcl スクリプト内の値文字列を引用符で囲む必要があります。 このタイプは、以下に定義されているsystem_h_define宛先をサポートします。.
    • unquoted_string—引用符で囲まれていない文字列は、宛先ファイル内の設定名と値を使用してマクロまたは Makefile 変数を定義します。 宛先ファイルでは、設定値が引用符で囲まれていません。 例:#define DFLT_ERROR Error このタイプはすべての宛先をサポートします。
  • destination—destination パラメーターは、add_sw_settingが生成された BSP 内のどこに設定を配置するかを指定します。add_sw_settingsは次の宛先をサポートします。
    • system_h_define—この宛先を使用すると、add_sw_settings は system.h ファイル内の#define <setting name> [<setting value>]マクロとして設定をフォーマットします。
    • public_mk_define—この宛先を使用すると、add_sw_settingsは設定を-D<setting name>[=<setting value>] として BSP toolchain.cmakeファイルのALT_CPPFLAGS変数に追加してフォーマットします。 toolchain.cmakeは、BSP 内の各ソースファイル、および BSP を使用するアプリケーションとライブラリーの C プリプロセッサーにフラグを渡します。
    • makefile_variable—この宛先を使用すると、add_sw_settingsは、BSP toolchain.cmakeファイルへの makefile 変数の追加として設定をフォーマットします。 変数名は、toolchain.cmakeファイル内で一意である必要があります。
  • displayName—設定の名前。 設定は階層的な名前空間に存在します。 階層のレベルはピリオドで区切られます。 Tcl スクリプトで作成された設定は、create_driverまたはcreate_sw_packageコマンドで指定したドライバーまたはソフトウェア・パッケージ名の下の階層にあります。 例: my_driver.my_setting。 Nios® V プロセッサー BSP Editor は、設定名に階層プレフィックスを追加します。

  • identifier—定義されているマクロまたは Makefile 変数の名前。 生成時に system.h ファイルに追加される設定では、このパラメーターは #define ステートメントの直後のテキストに対応します。

  • value—設定に関連付けられたデフォルト値。 オプションに値を割り当てない場合、その値はこのデフォルト値になります。有効な初期値は、boolean およびboolean_define_only設定タイプの場合はTRUE1FALSE、および0であり、characterタイプの場合は 1 文字、decimal_number設定タイプの場合は整数、hex_numberタイプの場合は0xプレフィックスの有無にかかわらず整数、および付きの数値です。float_numberおよびdouble_numberタイプの場合は 10 進数、引用符付きおよび引用符で囲まれていない文字列設定タイプの場合は任意のテキスト文字列。文字列型の場合、値に空白が含まれる場合は、値を引用符で囲む必要があります。

  • description—設定値および名前とともにsummary.htmlファイルに挿入される説明テキスト。説明にスペースが含まれる場合は、引用符で囲む必要があります。説明に特殊文字 (引用符など) が含まれている場合は、バックスラッシュ (\) 文字でエスケープする必要があります。 説明フィールドは必須ですが、空の文字列 ("」) にすることもできます。