🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72423

Re: Połączenie jądro -> program.

#72423
From: macu
Date: Tue, 31 Jan 2012 12:50
33 lines
2481 bytes
On 01/30/2012 03:07 PM, Andrzej W. wrote:
> W dniu 2012-01-30 12:06, macu pisze:
>> Zrob dokladnie tak jak napisal Krzysztof Magosa, aby modul byl dostepny
>> przez noda w /dev/
>> wtedy funkcjami poll/epoll/select uspisz swoj userspace'owy
>> program w oczekiwaniu na zdarzenie (w twoim przypadku inkrementacja
>> licznika), a potem program odczyta dzieki ioctl stan licznika w module
>> (wtedy nie "zgubisz" zadnego przerwania nawet jak czas miedzy odebraniem
>> eventa a odczytem biezacej wartosci bedzie zbyt duzy)
>
> Moduł który chce przerobić obsługuje GPIO procesora, każdy z IO jest już
> reprezentowany w /dev/, ale raczej na takim pliku się poll nie postawi,
> rozumiem, że mam zrobić urządzenie, które będzie przechowywać tylko
> wartość licznika?
>
> O czym mam sobie poczytać, żeby się uświadomić w temacie tworzenia
> takich urządzeń?
>

poszukaj na sieci ksiazek
Linux-Device-Drivers-3rd-Edition.pdf (+ plik ldd3_examples.tar.gz)
OReilly,.Linux.System.Programming.pdf
Professional Linux Kernel Architecture.pdf
LinuxKernelInANutshell.pdf


generalnie kod drivera wypelnia pola struktury file_operations
wskaznikami do swoich funkcji, jest tam m.in. pole
    unsigned int (*poll) (struct file *, struct poll_table_struct *);
jak masz zrodla drivera do gpio to sprawdz czy jest tam tak robione,
jesli tak to moze moglbys sie "podczepic" ze swoim poll'em z aplikacji

Mariusz
Technical Details
Message-ID: <jg8o2i$hl$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <jg1r2c$814$1@mx1.internetia.pl> <jg3es1$49a$1@news.task.gda.pl> <jg45im$9tb$1@mx1.internetia.pl> <jg5tir$hd7$1@inews.gazeta.pl> <4f26a424$0$1211$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: macu <macu@polbox.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Połączenie jądro -> program.
Date: Tue, 31 Jan 2012 13:50:23 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 33
Message-ID: <jg8o2i$hl$1@inews.gazeta.pl>
References: <jg1r2c$814$1@mx1.internetia.pl> <jg3es1$49a$1@news.task.gda.pl> <jg45im$9tb$1@mx1.internetia.pl> <jg5tir$hd7$1@inews.gazeta.pl> <4f26a424$0$1211$65785112@news.neostrada.pl>
NNTP-Posting-Host: 85.94.231.209
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1328014226 565 85.94.231.209 (31 Jan 2012 12:50:26 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 31 Jan 2012 12:50:26 +0000 (UTC)
X-User: marcukr
In-Reply-To: <4f26a424$0$1211$65785112@news.neostrada.pl>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc11 Thunderbird/3.0.4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit