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 来识别驱动程序实例。DeviceId 将不填充进 xparameters.h 文件内。对于在传统 VitisVitis 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):初始化名为 uio 的器件,以供在 Linux 系统上使用。使用 sysfs 中的 uio 器件信息创建最多 5 个存储器映射并按 mmap 分配从基址。

其中,各实参定义如下:

InstancePtr
指向器件实例的指针。
DeviceId
xparameters.h 中定义的器件 ID。
BaseAddress
此 BaseAddress 是在 xparameters.h 中定义的。
InstanceName
uio 器件的名称。

返回

XST_SUCCESS 表示成功,否则即为失败。