Kennt sich hier schon jemand mit dem AP7000 aus? Folgendes Problem : Ich hab mir das Grasshopper Board von Benedikt Sauter gekauft und würde dort gerne einen FPGA anflanschen. Das G.H. Board hat leider keinen EBI nach aussen, aber recht viele GPIOs. Aus dem AP7000 Datenblatt lese ich das die CPU 2 Clockzyklen für GPIO Operationen benötigt. Also recht schnell das ganze ! Bisher hab ich bei ähnlichen Schaltungen (ARM+FPGA) das FPGA an den Memory Bus gehängt und konnte so schöne sachen wie memcpy(),pointer etc. auf das FPGA machen. Mein Gedanke ist jetzt den fehlenden EBI mit den GPIOs nachzubilden , z.b. als einen 16bit Gemultiplexten Adr./Daten Bus. Gibt es unter Linux Tricks solch einen Bus/Konstruktion in den virtuellen Speicherbreich einzublenden?
Ob man das in den virtuellen Speicher einhängen kann weiß ich nicht, vermute aber mal eher nein, wenn ich an die Struktur des Pagers im Linux-Kernel denke. Beim AP7000 kommt noch die eingebaute MMU dazu, die vom Pager auch verwendet wird, so dass hier allerhöchstens ein MMIO-Mechanismus in Frage kommt. Was aber in jedem Fall geht, ist eine Gerätedatei und ein dazugehöriges Kernelmodul, dass die Kommunikation mit dem FPGA über GPIO implementiert, zu verwenden, das geht (mit Hilfe einer zusätzlichen Bibliothek) sogar bidirektional. Eine Anwendung würde also nur noch Schreib/Lesezugriffe auf diese Datei durchführen, was ganz im Sinne der Unix-Philosphie (alles ist eine Datei) wäre.
Danke für die Antwort. Naja die Anzahl der von mir verwendbaren GPIOs ist inzwischen sehr geschrumpft. Werde wohl den SPI Bus für die Kommunikation mit dem FPGA nehmen -> Gerätedatei und Kernelmodul :-)
Ich möchte auf einem AVR32 unter Linux die GPIO's ansprechen. Allerdings nicht auf die langsame sys/class-Variante wie sie z.B. hier beschrieben ist: http://www.avrfreaks.net/wiki/index.php/Documentation:Linux/GPIO In dem AN von Atmel http://www.atmel.com/dyn/resources/prod_documents/doc32073.pdf ist der Zugriff über ein Kernel-Modul beschrieben. Ich bekomme aber den Code nicht zum laufen, da die Header-files (z.B. linux/gpio.h) nicht gefunden werden. Die Dokumentation in der gpio.txt in der Buildroot-Toolchain haben mich auch nicht viel weiter gebracht. Es müssten ja einige MHz über die Pins zu realisieren sein. Könnt Ihr mir bitte weiterhelfen. Ein funktionsfähiges Beispiel wäre auch gut. MfG Dirk
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.