繁体   English   中英

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

[英]Finding Memory Address of a Parallel Port on Linux

我正在尝试通过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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM