Forum: FPGA, VHDL & Co. XPS


XPS
von Martin (Gast)


Lesenswert?

Hallo!

Wir lernen gerade mit XPS ein Mikrocontroller-System zu erstellen.
Jetzt möchte ich mich mal über die Grenzen des Gelernten hinaus bewegen 
und habe ein paar fragen.
Ich verwende EDK8.1.

Wir erstellen gerade ein System mit einem Microblaze_0-Prozessor.
Auch ein Port-IP-Core, der opb_gpio 3.01.b wurde eingebaut.
Wenn man bei der Project Information Area auf Applications klickt, 
erscheint eine Liste mit zwei Projekten TestApp_Memory und 
TestApp_Peripheral, wobei TestApp_Memory als einzige aktiv ist.

Unter Sources haben wir unseren ersten Quellcode platziert.
Hier werden z.B. folgende Files inkludiert:
xparameters.h
xgpio.h
xutil.h

Woher weiß ich, für welchen IP-Core ich welches Header-File benötige?
Wenn ich jetzt z.B. einen Timer-IP-Core einbinden möchte, welches 
Header-File muss ich hier nehmen?


Die Initialisierung der IO-Ports
XGpio_Initialize(&dip_push, 0);
  XGpio_SetDataDirection(&dip_push, 1, 0xFFFFFFFF);

Wenn ich z.B. jetzt noch einen zweiten, dritten oder vierten IO-IP-Core 
einbinden möchte, woher weiß das Tool welchen in jetzt initialisieren 
möchte?

Danke Leute für eure Hilfe.

Tschüss
Martin

von Eddy H. (Firma: student) (eddy_2007)


Lesenswert?

Hi Martin

ich habe auch jetzt mit XPS angefangen, ich habe EDK 8.1 auch...
und wollte dich mal fragen ob du gute Einleitung gefunden hast (ich 
finde wenig Tutorial für XPS...)

wie sind deine Erfahrung mit XPS und Microblaze....

danke im Vorraus
Eddy

von Matthias (Gast)


Lesenswert?

1. XPS hat ein Tutorial eingebaut, das grob die ersten Schritte erklärt.
2. Für benötige .h Dateien einfach mal alle von XPS angezeigten .h 
Dateien anschauen, und dann die nehmen die sich wie die 
Periphieriekomponente anhört ;)
Außerdem: Bei der Instanzierung der Komponete im XPS (als in diesem 
Adressen/Busse/POrts Fenster) kann man rechtsklick auf die Komponente 
machen und sich dann die Dokumentationen, u.a. die 
Programmierdokumentation ansehen.
3. zum X...Initialize: öffne mal die xparameters.h, da sind für alle 
deine instanzierten Komponenten Parameter angelegt.
In meinem Design gibts z.B. zwei GPIO Controller. Einen nur für LEDs und 
einen für 8Bit GPIO.
Letzteren initalisiere ich mit:
XGpio_Initialize(&gpio,XPAR_GENERIC_GPIO_DEVICE_ID);
und kann dann mit gpio drauf zurgreifen.
Den LED Controller initialisiere ich mit:
XGpio_Initialize(&gpioLED, XPAR_LEDS_DEVICE_ID);
und kann dann mit gpioLED drauf zugreifen.

Weiter Beispiele:
InterruptController Init:
XIntc_Initialize(&InterruptController,XPAR_OPB_INTC_0_DEVICE_ID);
Uart Init:
XUartLite_Initialize(&Uart,XPAR_RS232_DEVICE_ID);


4. Mal nach XPS oder EDK Tutorial suchen, da gibts einiges, auch von 
Xilinx.

5. Ach scheiße, hier hat mal wieder jemand Leichenschändung betrieben 
und ich sehs erst jetzt. Naja, jetz schick ichs trotzdem ab, vielleicht 
hilfts mal noch jemanden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.