www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik AVR32 / AP7000 GPIOs unter LINUX

Autor: Claude (Gast)
Datum:

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?
Autor: lucem (Gast)
Datum:

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.
Autor: Claude (Gast)
Datum:

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 :-)
Autor: Dirk (Gast)
Datum:

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/Documentat...

In dem AN von Atmel
http://www.atmel.com/dyn/resources/prod_documents/... 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net