AXI_GPIO

通过添加AXI_GPIO,直接在AXI接口上了。相关的胶连逻辑自动生成了。具体的AXI 与GPIO之间,怎么通过总线访问,总线又是怎么给各模块映射地址,要看IP模块的手册,和开发流程有关的文档。

通过自动分配地址,以下是寄存器访问内存一种方式

#define GPIO_BASEADDR 0x41200000

#define DATA_OFFSET  0x0  //数据
#define TRI_OFFSET   0x4  //方向

#define LED_DELAY     10000000

int main()
{
	volatile int Delay;
	/* Set the direction for all signals as outputs */
	*(int *)(GPIO_BASEADDR + TRI_OFFSET) = 0x0 ;  //方向的设置  这是从基地址开始+偏移地址算的  查看手册这里    设置为输出

  while (1) {
	/* Set the LED to High */
	*(int *)(GPIO_BASEADDR + DATA_OFFSET) = 0xF ;

	/* Wait a small amount of time so the LED is visible */
	for (Delay = 0; Delay < LED_DELAY; Delay++);

	/* Set the LED to Low */
	*(int *)(GPIO_BASEADDR + DATA_OFFSET) = 0x0 ;

	/* Wait a small amount of time so the LED is visible */
	for (Delay = 0; Delay < LED_DELAY; Delay++);
    }
return 0;
}

以下参考:
https://blog.csdn.net/xiong_xin/article/details/115025668

你可能感兴趣的:(FPGA,例程学习,fpga开发)