Bis zum Compilieren komm ich gar nicht, die Fehlermeldung erscheint schon im Schritt "Generate Intermediate Files".
Es muss doch irgendwo eine Ansicht geben in der steht wer alles DMA belegt, nur kann ich keine finden.
Hier kannst du nachschauen, wieviele DMA-Fifos du überhaupt zur Verfügung hast:
http://digital.ni.com/public.nsf/allkb/0...9D00764FC4
Hast du auch alle Module von RT-Teil in den FPGA-Teil innerhalb des Projekts verschoben? Ansonsten arbeitet das Teil doch noch im Hybrid-Modus.
Gruß, Jens
Hallo ghost,
jeder FIFO belegt einen DMA-Kanal.
Zeig doch einfach mal deinen Projektbaum…
Im Anhang befindet sich der Projektbaum.
Die cRIO stellt drei DMAs zur Verfügung. FIFO habe ich nur eine in Gebrauch.
Die RT Teile sind noch nicht im FPGA Teil (siehe Anhang), wie verschieb ich die am einfachsten? Es sind doch einige Ordner und VIs...
Wie schon geschrieben, da du einige Module im Projekt Baum unter dem RT-Target angeordnet hast, arbeitest du jetzt im Hybrid-Modus.
Die Module kannst du einfach per Drag&Drop vom RT ins FPGA-Target ziehen. Was du dann alles an VIs anpassen musst, da dir die Direktzugriffe der Scan-Engine fehlen, dass kann ich nicht beurteilen.
Gruß, Jens
EDIT: Im Link von mir steht aber auch, dass die Scan Engine 2 DMA-FIFOs benötigt. Einer müsste also noch frei sein.
Guten Abend jg,
(16.07.2015 16:46 )jg schrieb: [ -> ]Wie schon geschrieben, da du einige Module im Projekt Baum unter dem RT-Target angeordnet hast, arbeitest du jetzt im Hybrid-Modus.
Die Module kannst du einfach per Drag&Drop vom RT ins FPGA-Target ziehen. Was du dann alles an VIs anpassen musst, da dir die Direktzugriffe der Scan-Engine fehlen, dass kann ich nicht beurteilen.
Wenn ich die Module unter ins FPGA Target ziehe werden die doch von diesem ausgeführt, oder Irre ich mich?
Scan Engine zugriffe habe ich keine mehr mehr die ich benötige. VIs sind noch vorhanden, da ich ich testweise mit der Scan Engine gearbeitet hab. Ich denke die sollten aber keine Probleme machen, ausser das sie nicht ausführbar sind. Solang sie nicht aufgerufen werden müsste es keine Probleme geben.
(16.07.2015 16:46 )jg schrieb: [ -> ]EDIT: Im Link von mir steht aber auch, dass die Scan Engine 2 DMA-FIFOs benötigt. Einer müsste also noch frei sein.
Genau, das verwirrt mich auch. Deshalb suche ich eine Übersicht wo die DMA Zugriffe aufgelistet sind. Gemäss der Fehlermeldung im Anhang von Post #7 gibt es eine: "Review the list of requestors and remove one or more requestors to free up ressources."
Viele Grüsse
Möglicherweise hast du etwas bei der Definition des FIFO falsch angelegt. Zumindest verstehe ich die erweiterte Fehlerbeschreibung so. Aber das geht aus deinem Screenshot nicht hervor.
Wenn du die Scan-Engine in Zukunft nicht mehr brauchst und alle Module im FPGA verwalten willst, dann zieh sie unter das FPGA-Target. Deine Test-VI sind dann natürlich "broken", aber das kann dir egal sein.
Gruß, Jens
Guten morgen
die RT VIs hab ich nun im Projektbaum unter das FPGA Target gezogen, leider ist der sachverhalt immernoch gleich
Hier noch der neue Projektbaum:
[
attachment=53649]
Die Konfiguration des FIFO hab ich in den Anhang gepackt. Die hab ich nach einer Anleitung von NI erstellt.
Grüsse
Bitte das nächste Mal alle Bilder hier hochladen (vgl. LVF-Regeln).
Danke, Jens
EDIT: keine Ahnung, ob dass dein Fehler/Problem ist, aber wieso diese wahnwitzige Integer Word-Length von 32 bit bei einer Gesamtgröße von 53 bit? Aus deinem 9205 Modul kommt ein FXP der Größe 26/5...
Gruß, Jens
(17.07.2015 08:15 )jg schrieb: [ -> ]Bitte das nächste Mal alle Bilder hier hochladen (vgl. LVF-Regeln).
Sorry, da hab ich nicht mehr dran gedacht. Danke fürs korrigieren
(17.07.2015 08:15 )jg schrieb: [ -> ]EDIT: keine Ahnung, ob dass dein Fehler/Problem ist, aber wieso diese wahnwitzige Integer Word-Length von 32 bit bei einer Gesamtgröße von 53 bit? Aus deinem 9205 Modul kommt ein FXP der Größe 26/5...
Hab mich der Erstellung an eine Anleitung von NI gehalten. Ich lese auf auf dem FPGA die Eingänge ein, schreibe sie in ein Shift-Register und bündle sie im nächsten Durchgang zu einem Array. In einem For-Loop schreibe ich das Array in den FIFO. Die 53,32 sind die Arraygrösse, hab aber nochmal nachgelesen, 26,5 wäre richtig. Hab das nun angepasst. "Request Number of Elements" hab ich nun mal auf den Default Wert von 1023 gesetzt. Besserung hat es aber keine gebracht.
Kann es sein das ein CAN VI einen DMA belegt obwohl es auf dem RT ausgeführt wird?
Grüsse