Xilinx AXI GPIO学习笔记以及问题点

Xilinx AXI GPIO学习笔记以及问题点

1、问题总结

Xilinx AXI GPIO学习笔记以及问题点_第1张图片
如上图,在Vivado中设置的GPIO IP只有一个,但是使用的两个Channel,此时在SDK中初始化和设置就容易出现问题。

1.1 XGPio结构体变量声明

声明XGPio结构体的变量,只能有一个。也就是说,在Vivado中调用了几个GPIO IP核,就只能调用几个变量。

1.2 地址定义

一个XGPio变量,对应一个地址。

1.3 Channel区分

Xilinx AXI GPIO学习笔记以及问题点_第2张图片
双击IP核,可以看到分配的Channel.

1.4 函数调用

1.4.1 GPIO初始化 int XGpio_Initialize(XGpio *InstancePtr, u16 DeviceId);

一个GPIO只能使用一次初始化;

1.4.2 设置IO方向void _SetDataDirection(XGpio *InstancePtr, unsigned Channel, u32 DirectionMask);

其中Channel就是IP核里面的设置;

你可能感兴趣的:(FPGA)