Hallo, ich habe ein embedded Board, auf dem ein fertiges Linux läuft, über welches auch dei GPIOs des Boards angesteuert werden können. das ganze erfolgt über das Dateisystem und jeder GPIO Pin kann per /proc/gpio/xx/value angesprochen werden. Jenachdem ob ich eine 1 oder 0 in die Datei schreibe, kann ich den Pin setzen/löschen. Über eine /config Datei im selben Ordner kann ich festlegen ob der Pin Ein oder Ausgang ist. Ich habe jetzt ein eigenes Debian installiert und dort ist diese GPIO Geschichte nicht vorhanden(was mich auch nicht wundert) Ich frage mich jetzt aber, was ich tun muss, um die GPIOs auch mit dem Debian ansprechen zu können. Ich habe beim Boardhersteller ein Dokument gefunden, wo zumindest die Adressen der GPIOs beschrieben sind. Ich finde aber nichts, wo ich die Schnittstelle zwischen Filesystem und den Pins herstellen kann. Hat da jemand Informationen zu? Die Linuxbeispiele aus dem Dokument laufen so auch nicht, da trotz Root die fehlenden Berechtigungen moniert werden. Evtl. hat ja jemand einen Tip parat? Ich hoffe ich muss da nicht eine Art Treiber schreiben? Bisher kann ich per echo 1 >/proc/gpio... in die Datei schreiben . Wäre schön, wenn ich das unter dem Debian auch irgendwie hinbekommen kann Danke schonmal
Wenn das Zeug per Speicheradresse ansprechbar ist - also nicht nur per IO-Adresse - dann müsste man eigentlich über /dev/mem rankommen können.
Hi, normalerweise stellt ein GPIO-Treiber die Funktionalität zur Verfügung und bildet die Schnittstelle im Dateisystem unter dev... bzw. proc... ab. Ohne Treiber also keine Kekse. Der Treiber sollte also in jedem Fall im Kernel oder als Modul vorhanden sein. Mit mknod wird dann die Verknüpfung im Dateisystem erzeugt. Es gibt auch eine kostenlose Version von "Linux Device Drivers", wo dies alles bestens erklärt wird. Gruß,
danke erstmal für die Stichworte. Da muss ich mich erstmal einlesen...mknod, treiber etc...hab da noch überhaupt kein Plan von Ich hoffe ja noch, das es einen generischen treiber gibt, aber die Hoffnung stirbt zuletzt :-O
Schau mal hier: http://www.faqs.org/docs/Linux-mini/IO-Port-Programming.html Das kannst du dann mit Seite 3 deines pdfs vergleichen.
Nun, wenn du ein Linux hast, bei dem das geht, muß es da ja einen Treiber geben. Den könntest du versuchen, für deinen Debian-Kernel zu übersetzen.
Danke @Guido für den link...einiges davon sieht interessant aus. @magnus: naja, das ist eine fertige Minidistribution vom Hersteller(ist ein auf ca 15mb abgespecktes Linux) Sourcen oder so habe ich dazu keine
Die Sourcen MUSST du aber beim Hersteller beziehen können. Er muss sie herausgeben, sonst verstößt er gegen die GPL. Gruß, Nico
> Die Sourcen MUSST du aber beim Hersteller beziehen können. Er muss sie > herausgeben, sonst verstößt er gegen die GPL. Nur die Sourcen von dem, was tatsächlich auch unter GPL steht. Seine eigenen Kernel-Module muß er nicht unbedingt unter die GPL stellen.
Hmm...also Sourcen habe ich dazu keine gefunden. Ich probiere es jetzt mal mit dem Link von guido und dem PDF was ich habe...evtl. kann ich die IO's ja doch irgendwie direkt ansprechen
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.