2014-02-10 7 views
5

Ich versuche, den VHDL AVR8 Soft-Prozessor auf Gadget Factory auf einem Digilent Nexys II (Spartan 3E) Entwicklungsboard zu testen. Das Projekt enthält ein Makefile zum Kompilieren eines C- (oder anderer) Softwareprogramms und zum Zusammenführen desselben mit dem FPGA-Bitstrom, so dass es nicht notwendig ist, das HDL mit jeder Iteration der Software neu zu synthetisieren.Merge C-Programm und VHDL-Bitstream über "make" (d. H. Mit einem Makefile)

Wenn ich execute ‚make‘ bekomme ich folgende Fehler mit data2mem verbunden:

Merging Verilog Mem file with Xilinx bitstream: main.bit 
data2mem -bm bin/top_avr_core_v8_bd.bmm -bt bin/top_avr_core_v8.bit -bd main.mem -o b main.bit 
process_begin: CreateProcess(NULL, data2mem -bm bin/top_avr_core_v8_bd.bmm -bt bin/top_avr_core_v8.bit -bd main.mem -o b main.bit, ...) failed. 
make (e=2): The system cannot find the file specified. 
make: *** [main.bit] Error 2 

Ich Ausführung ‚make‘ im gleichen Verzeichnis die VHDL-Projektdateien enthalten, und ich habe sogar eine leere ‚Haupt .bit 'Datei im Verzeichnis.

Hat jemand irgendwelche Ideen, was hier vor sich geht? Muss meine leere "main.bit" -Datei auf eine bestimmte Weise formatiert oder an einem anderen Ort gespeichert werden?

Hier finden Sie ein Link zu meinem Makefile:

Makefile

Weitere Informationen zu beachten: I zur Verwendung von Makefiles im Allgemeinen sind neu, allein für den speziellen Zweck der Zusammenführung von Software mit einer FPGA-Bitstrom lassen Datei. Außerdem versuche ich dies auf einem Windows 7-Computer in der Eingabeaufforderung.

Vielen Dank im Voraus.

Edit: Hier ist ein link an den AVR8 Soft-Prozessor auf Gadget Factory, und hier ist der AVR8 source.

+0

Geben Sie auch einen Link zum Projekt auf Gadget Factory, wenn Sie uns sehen möchten, ob sie etwas anderes bereitgestellt haben könnten. –

Antwort

3

Offhand würde ich sagen, make kann das data2mem Programm nicht aufrufen. Hast du ein solches Programm auf deinem System? Ist das Verzeichnis in der PATH-Variablen enthalten? Läuft es richtig? Können Sie beispielsweise diese Befehlszeile an der Eingabeaufforderung eingeben und ordnungsgemäß ausführen?

+0

Hi MadScientist, danke für den Kommentar. 'data2mem' existiert auf meinem System. Ich habe sein Verzeichnis zu meiner PATH-Variable hinzugefügt, aber es wird nicht ausgeführt, wenn ich den Befehl in der Befehlszeile selbst eintippe. Irgendwelche Gedanken darüber, was jetzt zu tun ist? –

+0

Sie müssen herausfinden, wie Sie es für Sie ausführen lassen, bevor es für make ausgeführt wird. Wahrscheinlich ist ein guter erster Schritt, dass Sie Ihre Frage mit den Ergebnissen der manuellen Ausführung der Befehlszeile aktualisieren: "_it running_" ist keine sehr hilfreiche Beschreibung des Problems. – MadScientist

1

Wenn du ein "leeres" main.bit sagst, nehme ich an, du meinst ein "voll gefüllt außer dem Speicher, in den ich das Programm stecken will" main.bit ... sonst geht nichts zur Arbeit!

Es klingt, als ob Sie data2mem auf Ihrem Pfad nicht haben - Sind Sie sicher, dass Sie Ihr Makefile von einem Befehlsfenster/Shell ausführen, das die Xilinx-Pfade enthält?

Unter Windows gibt es dafür ein spezielles Symbol. Alternativ können Sie eine alte Eingabeaufforderung öffnen und die Datei settings32.bat (oder settings64.bat) im Xilinx-Installationsordner ausführen, um sie einzurichten. Oder auf Linux, können Sie source die entsprechende .sh/.csh Datei in Ihrer Shell.

+0

Vielen Dank für Ihre Antwort, Martin. Ich hatte bereits eine separate .bit-Datei für das Design generiert, aber nach den Einstellungen in meinem Makefile gibt 'data2mem' eine .bit-Datei namens" main.bit "aus. Stellt sich heraus, dass 'data2mem' nicht in meinem Pfad war. –