Hallo zusammen, ich habe ein Problem bei meinem Projekt mit einem Xilinx Spartan6 FPGA das ich mit System Generator programmieren möchte. Ich versuche Daten aus dem mit System Generator erzeugten Programm über UART auszugeben. Dazu habe eine funktionierende HW/SW Co-Simulation erstellt. Darin habe ich ein XPS Projekt erzeugt, in System Generator eine JTAG Co-Simulation erstellt und letzlich ein C-Programm im SDK geschrieben, dass aus einem FIFO Daten ließt und diese über UART ausgibt. Bis dahin klappt alles, beim versuch das fertige Programm auf das Board zu laden, hänge ich aber total. Ich habe versucht das .elf Programm aus SDK direkt als Startprogramm des EDK Prozessors anzugeben und dann über ISE auf das FPGA zu laden... ohne Erfolg. Versuche ich das .elf im XPS als Startprogramm einzustellen, bekomme ich Fehlermeldungen beim kompilieren des Bitstreams (ERROR:Xflow - Program ngdbuild returned error code 2. Aborting flow execution...make: *** [__xps/system_routed] Error 1). Lasse ich von System Generator eine .bit erzeugen und lade diese mit iMPACT hoch, passiert nichts auf dem USB Port. Also noch einmal kurz die Frage: Wie komme ich von einer funktionsfähigen HW/SW Co-Simulation zu einer Standalone Version, die ich auf das FPGA hochladen kann? Vielen Dank für eure Hilfe, fbo PS: Habe das System Generator Modell angehängt. Der C-Code folgt hier: #include <stdio.h> #include "platform.h" #include "xparameters.h" #include "sg_axiiface.h" int main() { init_platform(); // initialize variables uint32_t dout_empty, value; xc_iface_t *iface; xc_from_fifo_t *fromfifo_dout; // initialize the software driver xc_create(&iface, &SG_AXIIFACE_ConfigTable[XPAR_SG_AXIIFACE_0_DEVICE_ID]); xc_get_shmem(iface, "dout", (void **) &fromfifo_dout); if (fromfifo_dout == NULL) { print("FIFO 'dout' not found\r\n"); } print("Start\n\r"); while(1) { // wait until 'dout' FIFO has data do { xc_read(iface, fromfifo_dout->empty, &dout_empty); } while (dout_empty == 1); // read data from 'dout' FIFO xc_read(iface, fromfifo_dout->dout, &value); xil_printf("%d\r\n", value); } print("Done\r\n"); cleanup_platform(); return 0; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.