初期化ペアおよび INIT ファイルの属性 - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

初期化ペアを使用すると、MIO マルチプレクサーのプロセッサ システム (PS) レジスタとフラッシュ デバイスのクロックの初期化が容易になります。これにより、FSBL イメージを OCM にコピーする前、または XIP (eXecute in place) でフラッシュから実行する前に MIO マルチプレクサーを完全にコンフィギュレーションでき、フラッシュ デバイスのクロックを帯域幅が最大となるように設定できます。

ブート イメージ ヘッダーの固定部分の最後に 256 の初期化ペアがあります。1 つのペアは 32 ビットのアドレス値と 32 ビットのデータ値で構成されるため、初期化ペアはこれに従って指定されます。初期化が実行されない場合、アドレス値はすべて 0xFFFFFFFF となり、データ値はすべて 0x00000000 となります。これらの初期化ペアは、デフォルトでファイル拡張子が .int のテキスト ファイルで設定されますが、拡張子は変更できます。

このファイルは、ファイル名の前に [init] ファイル属性を使用することによって、BIF 内で INIT ファイルとして認識されます。データ フォーマットでは、動作指示子の後に次の情報が続きます。

  • アドレス値
  • = 文字
  • データ値
行末はセミコロン (;) で示します。次に、「.set.」動作指示子の例を示します。
.set. 0xE0000018 = 0x00000411; // This is the 9600 uart setting.

Bootgen は、INT ファイルからブート ヘッダー初期化データを最大で 256 ペアまで挿入します。bootROM が実行されると、bootROM はアドレス値を参照し、その値が 0xFFFFFFFF でない場合は、アドレス値に続く次の 32 ビット値を使用してアドレスの値を書き込みます。bootROM は、アドレス値が 0xFFFFFFFF になるまで、または 256 番目の初期化ペアに到達するまで、初期化ペアを順に設定します。

Bootgen では、次に示す演算子を含む式の評価 (優先を強制するネストされたかっこを含む) を実行できます。

* = multiply/
 = divide
% = mod
an address value
ulo divide
+ = addition
- = subtraction
~ = negation
>> = shift right
<< = shift left
& = binary and
  = binary or
^ = binary nor

値は 16 進数 (0x)、8 進数 (0o)、または 10 進数で指定できます。数表現は、128 ビットの固定小数点整数として保持されます。読みやすいように、表現演算子の前後にスペースを入れることができます。