writing device drivers
I'm doing a project in writing a network card device driver for RTLinux. Since, I'm new to Linux, I thought it would be better to start off from the basics.
Do I need to know the PCI bus architecture in detail. After mapping, the PCI configuration space to memory( memory mapped i/o) or via port addresses(i/o mapped i/o), what should be done.
I haven't clearly understood what the board initialization part does and also why do we need ioctl().
?? Are there any disadvantages in using pci-dma for a network card in RTLinux
?? Which would be a better option for RTLinux memory mapped or i/o mapped i/o
?? Do I have to allocate memory for the arriving packets or is it buffered in the NIC and sent to some buffer or the NIC sents packets to some allocated portion of memory made to point by the SCB.
?? I read RTLinux dosent create a net_device structure, it uses file_operations. Then, how does it treat a network device.
Also, how does the driver communicate with the protocol modules.
Thanking you
Jess
|