obsluha preruseni v linuxe

Richard Milan Komzik rkomzik na komzik.ta3.sk
Středa Březen 31 13:43:50 CEST 1999



Zdravim!

Neviem sice, ci moje otazky nie su off-topic, napriek tomu sa pokusim
spytat.

Mam pristroj, ktory je pripojeny do serioveho portu pocitaca. Tento pristroj
generuje synchronizacne impulzy a taktiez dodava na port nejake data.
Program, ktory toto obsluhuje, sa nam podarilo napisat v C+assembler: Pri
kazdom synchronizacnom impulze sa v systeme vyvola prerusenie. Vektor tohto
prerusenia sa nastavi na routinu (napisanu v assembleri, aby to bolo
rychle), ktora zabezpeci vycitanie dat z portu. Synchronizacny impulz moze
chodit kazdu stotinu sekundy (v buducnosti mozno tisicinu). Takto to vyzera
pod DOSom.

Teraz moje otazky: da sa taketo nieco urobit pod linuxom? Je mi jasne, ze
assemblerovska syntax je ina, ze musim zabezpecit pristup k portu (je
potrebne, aby vysledna exekutiva bola setuid root, alebo je lepsie povolit
uzivatelom prava na /dev/cua0?)... Je vsak velmi dolezite, aby sa meranie
vykonalo po prichode synchronizacneho impulzu a aby sa stihlo obsluzit do
prichodu dalsieho. Predpokladam, ze procesu bude potrebne priradit vysoku
(najvyssiu?) prioritu. Ako sa take nieco zabezpeci? Da sa to iba nejakymi
systemovymi prostriedkami, alebo je potrebne mat specialny kernel?

Prosim, pokial mate niekto s podobnou vecou skusenosti, o Vase
rady/napady/pripomienky.

Na zaver este jedna ina otazka: ako je to s mapovanim klavesnice v linuxe?
Napisal som si routinu, ktora nahradzuje Borlandovske "getch", ale
samozrejme, dostavam pri klavesach ako napr. arrow keys ine kody ako pod
DOSom. Ako sa takyto problem zvykne riesit v zaujme prenositelnosti
zdrojaku?

Vopred vdaka za vsetky rady.

Zdravi

--

                Richard KOMZIK

########################################################################
# Astronomical Institute     # E-mail (INTERNET): rkomzik na ta3.sk       #
# Slovak Academy of Sciences #               or:  astrkmzk na savba.sk    #
# 059 60 Tatranska Lomnica   # Fax: +421/969/4467656                   #
# THE SLOVAK REPUBLIC        # Telephone: +421/969/4467866-8           #
#                            # WWW: http://www.ta3.sk/~rkomzik         #
#                            # PGP key: finger rkomzik na auriga.ta3.sk   #
########################################################################


Další informace o konferenci Linux