6

PCIExpressカードを介してラップトップに接続したパラレルポートのベース(メモリ)アドレスを見つけようとしています。実行中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
4

2 に答える 2

4

cat /proc/ioports | grep parportioportsの出力をフィルタリングしてみてください。

于 2013-05-02T11:28:28.523 に答える
2

クイックアンサー:パラレルポートのメモリ位置はありません。パラレルポートには、IOポートのみが割り当てられています。これは、パラレルポートインターフェイスが何十年にもわたって機能してきた方法であり、特別なドライバを必要とする互換性のないメモリマップドインターフェイスを作成する必要性を誰も感じていません。

今、私は尋ねなければなりません、なぜあなたはポートのメモリ位置を見つけることに熱心なのですか?あなたはそれで何をしたいですか?

于 2012-04-05T18:17:21.980 に答える