13).单击Hardware Manager中的Program Device,单击xc7z020_1默认设置,单击Program将比特流烧写到ZedBoard板上;完成后板上的DONE蓝灯会亮, 提示比特流文件下载到ZedBoard板上成功:
14).单击File中的Export,单击Export Hardware,注意打钩include bitstream,点击OK。
15).单击File中的Launch SDK,默认设置,单击OK,这时会自动启动SDK。
这样在Vivado中的操作就完成了,软件会自动打开。
1.4 SDK中的软件设计
打开后的SDK界面如下:
1). 单击File > New > Application Project
2).输入工程名ledflow,其它默认,注意勾选 Use default location(默认已经勾选)单击Next;
3). 选择一个空的模板:empty application,单击Finish,等待工作环境的建立;
4). 单击ledflow>右击src>New > Source File
5).输入工程名ledflow.c(一般命名为main.c),单击Finish;
6). 编写如下程序:
1 * ledflow.c 2 * 3 * Created on: 2017年11月16日 4 * Author: zhangxianhe 5 */ 6 #include"xparameters.h" 7 #include"xgpio.h" 8 #include"xil_printf.h" 9 #include"xil_cache.h" 10 #define GPIO_BITWIDTH 8 11 #define GPIO_DEVICE_ID XPAR_AXI_GPIO_0_DEVICE_ID 12 #define LED_DELAY 100000000 13 #define LED_MAX_BLINK 0x1 14 #define LED_CHANNEL 1 15 #define printf xil_printf 16 XGpio Gpio; 17 XGpio GpioOutput; 18 19 int GpioMarquee(u16 DeviceId,u32 GpioWidth) 20 { 21 volatile int Delay; 22 u32 LedBit; 23 u32 LedLoop; 24 int Status; 25 Status=XGpio_Initialize(&GpioOutput,DeviceId); 26 if(Status!=XST_SUCCESS) 27 { 28 return XST_FAILURE; 29 } 30 XGpio_SetDataDirection(&GpioOutput,LED_CHANNEL,0x0); 31 XGpio_DiscreteWrite(&GpioOutput,LED_CHANNEL,0x0); 32 for(LedBit=0x0;LedBit<GpioWidth;LedBit++) 33 { 34 for(LedLoop=0x0;LedLoop<LED_MAX_BLINK;LedLoop++) 35 { 36 XGpio_DiscreteWrite(&GpioOutput,LED_CHANNEL,1<<LedBit); 37 for(Delay=0;Delay<LED_DELAY;Delay++); 38 XGpio_DiscreteClear(&GpioOutput,LED_CHANNEL,1<<LedBit); 39 for(Delay=0;Delay<LED_DELAY;Delay++); 40 } 41 } 42 return XST_SUCCESS; 43 }; 44 int main(void) 45 { 46 while(1) 47 { 48 u32 status; 49 status=GpioMarquee(GPIO_DEVICE_ID,GPIO_BITWIDTH); 50 if(status==0) 51 printf("SUCCESS!.\r\n"); 52 else 53 printf("FAILED.\r\n"); 54 } 55 return XST_SUCCESS; 56 }