I am now writing a drvier for PCI RS485 card under
rtlinux. I wish it is just like rt_com
and work under rt-kernel. But some problem happened. I do like following:
1. In the init_module functions, I read the
configuration register space.
By pci_find_device() function, I get pci_dev *dev, then I get the irq by
dev->irq.
and also the base address of the port.
rtl_request_irq and request_region
functions are called and return 0 successfully. The
problem is that the ISR
( interrupt service Routine) is not
called.
Also I found that the irq number read from the
configuration register is different
from the one under normal linux. Like rt_com, I change the irq to the fixed one of normal
linux.
Just like rt_com, use setserial uart none
command first.
Then insmod mydriver.o, I found that sometime
the ISR is called,
but always my system hangs.
Is there something wrong with what I have
done?
Can some one give me some ideas?
I appreciate any help.
Liu
|