BIF ファイルは、ブート イメージの各コンポーネントをブート順に指定し、オプションで各イメージ コンポーネントに属性を適用できるようにします。イメージ コンポーネントがメモリ内で連続していない場合、コンポーネントは複数のパーティションにマップできます。たとえば、ELF ファイルに複数のロード可能な非連続のセクションが含まれる場合、各セクションを個別のパーティションにできます。BIF ファイルの構文は次の形式となります。
new_bif:
{
id = 0x5
id_code = 0x04ca8093
extended_id_code = 0x01
image
{
name = pmc_subsys, id = 0x1c000001
partition
{
id = 0x11, type = bootloader,
file = /path/to/plm.elf
}
partition
{
type = pmcdata, load = 0xf2000000,
file = /path/to/pmc_cdo.bin
}
}
}
注記: 上記の形式は、
Versal®
デバイスにのみ使用できます。
<image_name>:
{
// common attributes
[attribute1] <argument1>
// partition attributes
[attribute2, attribute3=<argument>] <elf>
[attribute2, attribute3=<argument>, attibute4=<argument] <bit>
[attribute3] <elf>
<bin>
}
- <image_name> と {...} (グループ化) を使用し、ROM 内のパーティションに分類するファイルをまとめます。
- {...} には 1 つまたは複数のデータ ファイルがリストされます。
- 各パーティションのデータ ファイルには、ファイル名の前に構文
[attribute, attribute=<argument>]
を使用して、オプションの属性を指定できます。 - 属性によって、データ ファイルに何らかの特性が適用されます。
- 複数の属性がある場合は、カンマ (,) で区切って並べることができます。その場合の順序は重要ではありません。属性は、1 つのキーワードまたはクォーテーションで囲んだ複数のキーワードとなります。
- 現在のディレクトリにファイルがない場合は、ファイル名を含むファイル パスを追加できます。ファイルのリスト方法は自由形式で、1 行にすべてをリスト (スペースで区切る、最低 1 スペースは必要) しても、1 つずつと改行してもかまいません。
- スペースは無視されるため、読みやすいように追加しても問題ありません。
- C 形式のブロック コメント
/*...*/
、または C++ 形式の行コメント//
を使用できます。
次に、読みやすいように空白と改行を追加した BIF の例を示します。
<bootimage_name>:
{
/* common attributes */
[attribute1] <argument1>
/* bootloader */
[attribute2,
attribute3,
attribute4=<argument>
] <elf>
/* pl bitstream */
[
attribute2,
attribute3,
attribute4=<argument>,
attibute=<argument>
] <bit>
/* another elf partition */
[
attribute3
] <elf>
/* bin partition */
<bin>
}
Bootgen でサポートされるファイル
次の表に、Bootgen でサポートされるファイルを示します。
サポートされるデバイス | 拡張子 | 説明 | 注記 |
---|---|---|---|
すべてのデバイスでサポート | .bin | バイナリ | 未処理のバイナリ ファイル。 |
.dtb | バイナリ | 未処理のバイナリ ファイル。 | |
image.gz | バイナリ | 未処理のバイナリ ファイル。 | |
.elf | 実行可能リンク ファイル (ELF) | シンボルとヘッダーを除く。 | |
.int | レジスタ初期化ファイル | ||
.nky | AES キー | ||
.pub/.pem | RSA キー | ||
.sig | 署名ファイル | Bootgen または HSM によって生成される署名ファイル。 | |
Versal | .rcdo | CFI ファイル | Versal デバイスのみ。 |
.cdo/.npi/ .rnpi | CDO ファイル | コンフィギュレーション データ オブジェクト ファイル。Versal デバイスのみ。 | |
.bin/.pdi | ブート イメージ | Bootgen を使用して生成したブート イメージ。 | |
Zynq-7000/Zynq UltraScale+ MPSoC/FPGA | .bit/.rbt | ビットストリーム | BIT ファイル ヘッダーを除く。 |