X<DUT>_Initialize - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

構文

int X<DUT>_Initialize(X<DUT> *InstancePtr, uintptr BaseAddress);
int X<DUT>_Initialize(X<DUT> *InstancePtr, u16 DeviceId);
int X<DUT>_Initialize(X<DUT> *InstancePtr, const char* InstanceName);

説明

int X<DUT>_Initialize(X<DUT> *InstancePtr, uintptr BaseAddress): スタンドアロン システムで使用する場合に、デバイスの BaseAddress を初期化します。この API は InstancePtr に適切な値を書き込みます。この後、ほかの API で使用できます。

注記: DeviceId は、ドライバー コンフィギュレーション構造体には含まれなくなりました。ドライバー インスタンスの識別には BaseAddress が使用されるようになっています。DeviceIdxparameters.h ファイルにも入力されません。従来のクラシック Vitis または Vitis HLS ツールで開発されたこれらのドライバーを使用するソフトウェア アプリケーションは、次の例に示すように、#ifdef SDT でこの変更を反映するように更新する必要があります。
#ifndef SDT
#define GPIO_EXAMPLE_DEVICE_ID  XPAR_GPIO_0_DEVICE_ID
#else
#define	XGPIO_AXI_BASEADDRESS	XPAR_XGPIO_0_BASEADDR
#endif

int X<DUT>_Initialize(X<DUT> *InstancePtr, u16 DeviceId): スタンドアロン システムで使用する場合に、デバイスを初期化します。この API は InstancePtr に適切な値を書き込みます。この後、ほかの API で使用できます。AMDでは、この API を呼び出してデバイスを初期化することをお勧めします。ただし、システムで MMU が使用されている場合は、X<DUT>_CfgInitialize を使用してください。

int X<DUT>_Initialize(X<DUT> *InstancePtr, const char* InstanceName): Linux システムで使用する場合に、指定した uio デバイスを初期化します。最大で 5 つのメモリ マップを作成して、sysfs で uio デバイス情報を使用して mmap でスレーブ ベース アドレスを割り当てます。

さまざまな引数が次のように定義されています。

InstancePtr
デバイス インスタンスへのポインター。
DeviceId
xparameters.h で定義されたデバイス ID。
BaseAddress
xparameters.h で定義されたベース アドレス。
InstanceName
uio デバイスの名前。

戻り値

問題がなかった場合は XST_SUCCESS、それ以外の場合はエラーあり。