zedboard(zynqXC7Z020)入门实验之PS_GPIO的使用(MIO)

 

本人开发环境(其他zynq开发环境也可以的):WIN7  ;   ISE 14.4(14.1以上就可以);Zedboard开发板;


    zynq里含有双核cortex-a9,那么如何使用arm自带的GPIO口而不通过AXI总线呢?

在做本实验之前最好已成功做过zynq的HelloWorld程序,网上很多资料,做过HelloWorld程序之后,此实验可作为入门的第一个实验,本程序控制PS上自带的外设MIO,点亮zedboard开发板上的LD9灯亮,SDK主程序如下:


#include 
#include "platform.h"
#include "xgpiops.h"
#include "xgpio.h"

//void print(char *str);

int main()
{
	static XGpio psGpioInstancePtr;
	XGpioPs_Config* GpioConfigPtr;
	int iPinNumber= 7;//zedboar开发板上LD9连接的是PS_MIO7
	u32 uPinDirection = 0x1;//1表示输出,0表示输入
	int xStatus;
    init_platform();
    print("Hellozynq1\n\r");
    //////////////////////////以下是MIO控制程序
    GpioConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
     if(GpioConfigPtr == NULL)
       return XST_FAILURE;
     
     xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr,GpioConfigPtr, GpioConfigPtr->BaseAddr);
     if(XST_SUCCESS != xStatus)
       print(" PS GPIO INIT FAILED \n\r");
   
     XGpioPs_SetDirectionPin(&psGpioInstancePtr, iPinNumber,uPinDirection);
     XGpioPs_WritePin(&psGpioInstancePtr, iPinNumber, 1);//zedboar开发板上LD9连接的是PS_MIO7
     XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, iPinNumber,1);

    print("Hellozynq2\n\r");
    return 0;
}


实验现象:1. console输出:Hellozynq1

                                             Hellozynq2

                 2. zedboard开发板上LD9灯亮。

 





你可能感兴趣的:(zynq)