Situace je poněkud složitější a já se nechtěl zamotat do zbytečného vysvětlování. Mám desku s ARMem, která má dotykový display a běží na ní Linux s jádrem 2.6.28 s tickem 10 ms. K desce je připojený radiový modul, který komunikuje po SPI, GPS, která komunikuje po UARTU a další nedůležité kravinky. Bezdrátová komunikace musí probíhat v určeném čase - to je dáno omezením vyplývajících z příslušných norem, takže RF komunikace probíhá v přerušení a odchylka ve zpracování se pohybuje v řádu mikrosekund (handler přerušení má poměrně velkou prioritu a startuje 10 - 12 us po události). Další zesložitění vyplývá z toho, že když běží aktivní aplikace, tak procesor ruší RF modul a dosah se zkracuje zhruba o 1/3 až 1/2, proto potřebuju aby byl v předem určené době neběžela aplikace a procesor byl v některém z úsporných režimů. Zkoušel jsem změřit zpoždění mezi přijetím dat po sériové lince a jejich zpracováním v userspace a vypadá to, že nejdelší čas je malinko delší, než 1 tisk (cca 10 ms), což se dá akceptovat.
Zpracování dat GPS, vykreslování na display, snímání dotykového displaye apod. tedy asi nechám na userspace program. RF komunikace a časová synchronizace podle GPS poběží v modulu. Pro komunikaci mezi modulem a userspace vyzkouším tedy 2 možnosti:
1. blokové zařízení namapované v modulu a userspace se synchronizací pomocí signálů
2. znakové zařízení
Díky za inspiraci a kdybyste měli další připomínky, tak prosím napište.
Petr