Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux PCI寄存器读取太慢_C_Linux - Fatal编程技术网

Linux PCI寄存器读取太慢

Linux PCI寄存器读取太慢,c,linux,C,Linux,现在我必须编写一个PCI设备驱动程序。我使用内存映射方法访问PCI卡地址空间 但是现在,当我使用readl宏读取PCI卡上的一个寄存器时,需要花费1µs的时间-这正常吗 代码:(COMEDI项目源代码) 然后可以使用mite->mite\u io\u addr访问PCI卡设备地址空间将您使用的代码添加到内存映射。读取PCI寄存器的总时间可能相当长。我不确定“正常”时间是多少,但1us似乎并不完全疯狂于随机读取。谢谢你的回复,我已经添加了代码。但我的应用程序是硬实时的,所以“1us”太长了。。。

现在我必须编写一个PCI设备驱动程序。我使用内存映射方法访问PCI卡地址空间

但是现在,当我使用
readl
宏读取PCI卡上的一个寄存器时,需要花费1µs的时间-这正常吗

代码:(COMEDI项目源代码)


然后可以使用mite->mite\u io\u addr访问PCI卡设备地址空间

将您使用的代码添加到内存映射。读取PCI寄存器的总时间可能相当长。我不确定“正常”时间是多少,但1us似乎并不完全疯狂于随机读取。谢谢你的回复,我已经添加了代码。但我的应用程序是硬实时的,所以“1us”太长了。。。
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;
}