Forum: Mikrocontroller und Digitale Elektronik Mini2440 GPIOs direkt in c ohne sysfs ansprechen


von John-eric K. (mockup)


Angehängte Dateien:

Lesenswert?

Hallo.
Ich habe das besagte Board mit selbst Kompilierten Kernel und debian.
GPIO-Support ist im Kernel aktiviert und ich kann die Pins wie hier
http://www.avrfreaks.net/wiki/index.php/Documentation:Linux/GPIO#gpio-sysfs
beschrieben über den Userspace benutzen.

nun ist in der Dokumentation des Kernels auch die Rede von Funktionen,
welche eingebunden werden können.
Unter /documentation/gpio.txt
Hab die Datei mal angehängt.
folgende Funktionen:
1
int gpio_is_valid(int number);
2
int gpio_direction_input(unsigned gpio);
3
int gpio_direction_output(unsigned gpio, int value);
4
int gpio_get_value(unsigned gpio);
5
void gpio_set_value(unsigned gpio, int value);
6
usw.

Diese sollen durch
1
#include <linux/gpio.h>
verfügbar sein.

Allerdings findet er die Include-Pfade natürlich nicht.

Hat das schon mal jemand gemacht und kann sagen wie es richtig geht.

Mein Versuch mit I und L die Pfade zu übergeben hat auch nicht 
funktioniert. Er brincht mit Fehlern ab.

Anbei die c-Datei und die Ausgabe auf der Shell.

Vielleicht weiß da jemand bescheid.
Danke
John

von Oliver J. (skriptkiddy)


Lesenswert?

ich habs so hinbekommen in einem Modul an den Pins zu wackeln:
1
#include <linux/kernel.h>
2
#include <mach/regs-gpio.h>
3
#include <mach/gpio-fns.h>
4
5
[...]
6
7
//LED1-Pin output
8
s3c_gpio_cfgpin(S3C2410_GPB(5), S3C2410_GPIO_OUTPUT);
9
10
//LED1 on
11
s3c2410_gpio_setpin(S3C2410_GPB(5), 0);


PS. das hab ich hier her
    ./arch/arm/mach-s3c2440/mach-mini2440.c:
        static void __init mini2440_init(void)

Gruß Skriptkiddy

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
Noch kein Account? Hier anmelden.