problem s napsanim funkce pro hw i/o
Karel Dudasek
Karel.Dudasek na vtopu.army.cz
Pátek Leden 8 10:10:04 CET 1999
Hanus wrote:
>
> Makra jsem inb, outb jsem nepouzil, protoze nejsem toho schopen. Pri
> kompilaci mi to napise undefined reference to '__outbc, __outb. Pritom mam
> explicitne #include <io.h>. Zkusil jsem vytvorit neco nasledujiciho:
>
> void outb( unsigned char value, unsigned short port)
> {
> __asm__ __volatile__ ("outb %b0,%w1" : : "a" (value), "d" (port));
> // __asm__ __volatile__ ("outb %b0,%1" : : "a" (value), "id" (port));
>
> }
>
> Zkompiluje se to, ale pri vlastnim pouziti funkce vybehne chyba
> 'Segmentation fault. Tak nevim co s tim dal.
>
> ps: nejsem uzivatelem linuxu. kamarad chtel abych mu predelal program ktery
> jsem kdysi napsal v pascalu na obsluhu 1-wired sbernice od Dallasu (
> teplotni cidla, id klice a pod.) do C pod linuxem. dodal mi neco co se
> jmenuje Monkey - Mini Linux ktery bezi nad dosovskou fat a gcc kompilator.
> bohuzel nejsem schopen pouzit i/o porty.
Pred pouzitim primeho pristupu na porty je potreba pozadat jadro
o povoleni teto operace. Funkce ioperm ( IO do 0x3FF) nebo iopl
(pro vsechny porty).
Zkousim si neco psat a zacal jsem zkoumat zdrojaky jadra.
V manualovych strankach toho moc neni.
--
=============================================
= Karel Dudasek Karel.Dudasek na vtopu.army.cz =
= VTOPU Domu: =
= Cs. odboje Mirova 812 =
= 518 16 Dobruska 518 01 Dobruska =
= tel.: +420-443-673693 +420-443-22509 =
= fax: +420-443-21532 =
=============================================
Další informace o konferenci Linux