在Linux上查找并行端口的内存地址

时间:2012-01-12 03:41:04

标签: linux pci parallel-port memory-address

我试图找到我通过PCI Express卡连接到笔记本电脑的并行端口的基本(内存)地址。运行lspci -v表示我的计算机识别并行端口并提供I / O端口(1000和1008)但不提供内存地址(其他条目同时具有端口和内存位置...此卡是唯一没有内存的条目地址)。此外,当我查看/proc/ioports时,我得到了lspci中给出的相同端口。但是,当我尝试在运行的程序中使用这些地址中的任何一个(EMC2来控制步进电机)时,它在该地址处找不到并行端口。

如果有一个类似于Windows设备管理器的东西,那真的很棒 - >端口 - >资源。在Ubuntu中有没有办法做到这一点? PCIe设备是否有标准内存位置?

编辑: 来自lspci -v

的输出
04:00.0 Parallel controller: Oxford Semiconductor Ltd Device c110 (prog-if 02)
Subsystem: Oxford Semiconductor Ltd Device c110
Flags: bus master, fast devsel, latency 0, IRQ 18
I/O ports at 1000 [size=8]
I/O ports at 1008 [size=4]
Capabilities: [40] Power Management version 3
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Capabilities: [70] Express Legacy Endpoint, MSI 00
Capabilities: [100] Device Serial Number 10-01-00-11-11-e0-30-00
Capabilities: [110] Power Budgeting <?>
Kernel driver in use: parport_pc
Kernel modules: parport_pc

供参考,另一个显示内存位置的条目:

0c:03.0 FireWire (IEEE 1394): Agere Systems FW322/323 (rev 61) (prog-if 10)
Subsystem: Agere Systems FW322/323
Flags: bus master, fast Back2Back, medium devsel, latency 248, IRQ 19
Memory at 8c000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Kernel driver in use: ohci1394
Kernel modules: firewire-ohci, ohci1394

2 个答案:

答案 0 :(得分:4)

尝试cat /proc/ioports | grep parport过滤ioports的输出。

答案 1 :(得分:2)

快速回答: 没有并行端口的内存位置。并行端口只有分配给它们的IO端口。这就是并行端口接口已经运行了数十年的方式,没有人觉得需要制作一个需要特殊驱动程序的不兼容的内存映射接口。

现在我必须问,为什么你打算找到端口的内存位置?你想用它做什么?