
#openwrt #linux #programowanie #embedded #c
Miraski pytanko. Uruchamiam układ MT7268. Podczas uruchomienia aplikacji sterującej GPIO dostaję błąd "unable to open mmap file No such device or address" . Układ pracuje na systemie openWRT
Łapcie kod :
https://pastebin.com/iaxKVaeu
Miraski pytanko. Uruchamiam układ MT7268. Podczas uruchomienia aplikacji sterującej GPIO dostaję błąd "unable to open mmap file No such device or address" . Układ pracuje na systemie openWRT
Łapcie kod :
https://pastebin.com/iaxKVaeu
- Najlepsze
- Wszystkie komentarze







Żeby to zrobić z RiGczem pisz moduł kernela, o ile już producent tego nie ogarnął wcześniej i z user
Co do i2c, to jest sterownik i2c-gpio w razie czego, gdyby nie było możliwości sprzętowego i2c. Do pwm jest też sterownik gpio-pwm
Bit-banging z poziomu user space się nie sprawdzi - wiem o czym mówię, bo raz podczas współpracy pewną z uczelnią jeden doktor odwalił takie coś i fakt działało, tylko procesor zajęty był w 70% kłapaniem
Widzę że "wesoły development" nie jest wcale taki wesoły.
Może trzeba w jądro coś wkompilowac. Zerknij czy w pliku .config masz cos z mmap, a pozniej zerknij od czego jest dany przełącznik.
Zerknij tutaj: http://man7.org/linux/man-pages/man4/mem.4.html
Z kodu który podesłała jasno wynika że błąd ten jest wyświetlany przy błędzie dostępu do pliku /dev/mem
Od dość dawna plik ten nie jest już domyślnie udostępniany przez kernel.
@QBA__: czyli darować sobie taki kod i skorzystać np. z takiego rozwiązania: https://www.unwireddevices.com/wiki/index.php/Working_with_GPIOs_(C/C%2B%2B)
Możesz sobie przetestować normalnie z linii komend export, ustalanie kierunku wejście/wyjście odczyt/zapis tak, jak w linkowanym przez Ciebie artykule.
Pytanie co masz zamiar podpiąć pod te gpio? Bo jeśli chodzi o coś co wymaga bardzo szykiego machania gpio - kilka set Herców i wyżej, to może być za wolno i trzeba by albo używając libgpiod - tylko kernel musi być w miarę