Linux I/O port programming mini-HOWTO: W razie kłopotów
Następna strona
Poprzednia strona
Spis treści
8. W razie kłopotów
P1.Dostaje błąd segmentacji pamięci kiedy dobieram się do portów
O1.Albo twój program nie ma uprawnień root'a bądź wywołanie
ioperm() nie powiodło się z jakiegoś innego powodu.
Sprawdź wartość powrotną funkcji ioperm(). Sprawdź również czy rzeczywiśćie
operujesz na portach do których uzyskałeś dostęp za pomocą ioperm() (zobacz P3).
Jeśli używasz makr opóźniających (inb_p(), outb_p(), itd), pamiętaj aby
wywołać ioperm() również wtedy jeśli chcesz uzyskać dostęp do portu 0x80
P2.Nie mogę nigdzie znaleść deklaracji funkcji in*(), out*()
i gcc narzeka na niezdefiniowane referencje.
O2.Nie kompilowałeś z włączoną optymalizacją (-O),
i w ten sposób gcc nie mógł odnaleźć makr w katalogu asm/io.h. Albo
nie włączyłeś w ogóle <asm/io.h> do swojego programu.
P3.Wywołąnie out*() nie robi nic bądź robi coś dziwnego.
O3.Sprawdź kolejność parametrów; powinno być
outb(wartość, port), a nie outportb(port, wartość) co jest popularne w MS-DOS.
P4.Chcę sterować standardowym urządzeniem RS-232/portem równoległym/drukarką/joystickiem
O4.Lepiej będzie jak użyjesz istniejących sterowników z jądra, X serwera lub czegoś innego.
Sterowniki te są zazwyczaj dosyć wszechstronne więc nawet lekko niestandardowe
urządzenia z nimi współpracują. Zobacz wyżej informacje o zwykłych portach,
są tam odnośniki do stosownej dokumentacji.
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
io programming pl 11io programming pl 1io programming pl 2IO Programming pl (3)IO Programming pl (2)io programming pl 10io programming pl 9io programming pl 3io programming pl 6io programming pl 7IO Programming plio programming pl 4io programming pl 5TK IO[pdf][PL] Pobrany z torrenty org ® nfo nfoCOMPACT IO PRESENTATION PLamd102 io pl09io port programming 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46a 3ogqzy3bscrrpgv753q3uywjfexgwwoiiffd46aacu 250 io pl14więcej podobnych podstron