0
Ich versuche, eine Speicherkarte für einen GPIO-Wert zu erstellen. Der gpio-Pin ist dem Speicher/sys/class/gpio/gpio45/value zugeordnet.mmap/sys/Klasse/gpio/gpioX/Wert -> ENODEV
int fd = open(file.c_str(), O_RDWR);
if(fd == -1){
return false;
}
struct stat fileStat;
int statRes = fstat(fd, &fileStat);
if(statRes == -1){
close(fd);
return false;
}
errno = 0;
char* res = (char*)mmap(NULL, static_cast<size_t>(fileStat.st_size), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
errno wird auf 19 gesetzt -> ENODEV. die Binärdatei läuft als root.
Ist etwas nicht in Ordnung oder muss ich spezielle Kernel-Funktionen aktivieren? thx für Ihre Hilfe.