Hi, wisst ihr wie man am einfachsten ein Bild auf dem SDRAM oder EPCS speichern und an das FPGA weiterreichen kann, sodass es den Studenten zum Verarbeiten zur Verfügung steht? Das Bild soll danach auf den SDRAM zurückgeschrieben werden und auf dem Display angezeigt werden. Hierbei wollen wir sicherstellen, dass wir in freien Speicher schreiben. Wir verwenden das DE0 Nanoboard und zeigen das Bild über den LT24 Matrixdisplay an. Dieses steuern wir mittels Nios II. Das Speichern des hartgecodeten Bildes in C über den Nios II funktioniert und lässt sich auch an das Display weiterreichen. Allerdings wollen wir die Filter direkt auf dem FPGA implementieren und müssen somit das Bild an das FPGA weiterreichen. Der Memory Mapped Master den wir hierzu verwenden benötigt aber die physikalische Adresse im Speicher um das Bild zu lesen. Und genau hier liegt das Problem. Wir kennen diese nicht. Wie können wir die explizite Adresse und das Memory Mapping des Nios II herausfinden? Ich freue mich auf eure Lösungsvorschläge.
Es gibt zwei einfache Möglichkeiten: 1. Man zwingt den compiler das Bild immer an der selben Adresse abzulegen. Das kann man entweder über das linkerscript oder über attributes. Anregung: https://stackoverflow.com/questions/4067811/how-to-place-a-variable-at-a-given-absolute-address-in-memory-with-gcc Hierbei ist ein wenig darauf zu achten, dass man sich da kein Loch ins Bein schießt, indem man das irgendwo hinlinkt und der Linker den rest des Programms nicht platzieren kann. 2. Die andere Möglichkeit wäre, einen weiteren Avalon-Slave zu implementieren, dem vom Nios die Adresse zur Laufzeit mitgeteilt wird.
Ich setze mal voraus, dass du dich ausreichen mit der Avalon-Spezifikation auskennst: 1. Die CPU ist per MM mit dem SDRAM, deinem Filter und deinem Framegrabber verbunden 2. Dein Filter als auch dein Grabber greifen per MM auf das SDRAM zu, evtl. sind auch zwei MMs für den Filter von Vorteil 3. Dein Filter als auch dein Grabber werden per MS-Schnittstelle (Slave) gesteuert (in Form einer Registerbank) CPU => SDRAM CPU => Grabber CPU => Filter Grabber => SDRAM Filter => SDRAM Damit können dann softwareseitig dem Grabber als auch dem Filter via Registerzugriff mitgeteilt werden, wo das oder die Bilder abgelegt werden sollen, wann aufgenommen und wann gefiltert werden soll (Default-Einstellung für Filterung/Grabben sollte STOP sein, d.h. kein Filtern und kein Grabben).
Hallo, point schrieb: > speichern und an das FPGA weiterreichen kann, sodass es den Studenten > zum Verarbeiten zur Verfügung steht? Darf ich Fragen welche Vorkenntnisse mit Quartus SOPC QSYS schon bestehen, und wie der Rahmen der LV (Praktikum, Beleg?) dann ist?
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.