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