www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR32 / AP7000 GPIOs unter LINUX


Autor: Claude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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:

Bewertung
0 lesenswert
nicht lesenswert
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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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 bestätigst du, die Nutzungsbedingungen anzuerkennen.