现在我必须编写一个PCI设备驱动程序。我使用内存映射方法访问PCI卡地址空间。
但是现在,当我使用readl
宏来读取PCI卡上的一个寄存器时,花费1微秒的时间 - 这是正常的吗?
代码:(COMEDI项目源代码)
addr = pci_resource_start(pcidev, 0);//BAR0 address
mite->mite_phys_addr = addr;
mite->mite_io_addr = ioremap(addr, PCI_MITE_SIZE);//memory map
if (!mite->mite_io_addr)
{
printk("failed to remap mite io memory address\n");
return -ENOMEM;
}
然后可以使用mite-> mite_io_addr访问PCI卡设备地址空间