簡體   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