1. vaja: osnovni sistem z LED in tipkami

Cilj laboratorijske vaje je izdelava vgrajenega sistema v čipu Zynq z oznako xc7z020clg484-1, ki je na razvojni plošči ZedBoard. Izvedli bomo preprosto aplikacijo, ki bere tipke in prižiga LED. Tipke bomo vezali na paralelna vrata procesorja EMIO GPIO, za LED pa bomo naredili nov paralelni vmesnik AXI GPIO.

Izdelava projekta z orodjem Vivado IP Integrator

1. Izdelava novega projekta

 2. Risanje blokovnega diagrama

  • Klikni z desnim gumbom na priključek GPIO_0 in izberi Make External, da se povežejo še GPIO signali na zunanje priključke, nato pa klikni na zunanji priključek (petkotnik) z levim gumbom in v okencu External Interface Properties spremeni ime priključka v: tipke

 

3.  Prevajanje sistema

4. Izdelava aplikacije

 

#include <stdio.h>
#include "platform.h"
#include "xil_io.h"// neposreden dostop do registrov
#include "xgpio.h"// gonilnik AXI GPIO (LED)
#include "xgpiops.h"// gonilnik za PS GPIO (tipke)

//void print(char *str);
	XGpio led;
	XGpioPs gp;
	XGpioPs_Config *gpCfg;
	int t;
    
    // inicializacija PS GPIO
    gpCfg = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
    XGpioPs_CfgInitialize(&gp, gpCfg, gpCfg->BaseAddr);

    // inicializiraj AXI GPIO za ledice
    XGpio_Initialize(&led, XPAR_AXI_GPIO_0_DEVICE_ID);
          XGpio_DiscreteWrite(&led, 1, 0xF0);   
          Xil_Out8(XPAR_AXI_GPIO_0_BASEADDR, 0xF0);
          t = XGpioPs_Read(&gp, 2);     

5. Naloga