Dizüstü bilgisayarıma bir PCI Express kartıyla bağladığım paralel bağlantı noktasının temel (bellek) adresini bulmaya çalışıyorum. lspci -v
'un çalıştırılması, bilgisayarımın paralel bağlantı noktasını algıladığını ve I/O bağlantı noktalarını (1000 ve 1008) verdiğini ancak bellek adresini (diğer girişlerin hem bağlantı noktalarına hem de bellek konumlarına sahip olduğunu gösterir… bu kart bir bellek adresi olmayan tek giriştir) gösterir. Ayrıca, /proc/ioports
'a baktığımda lspci'de verilen aynı portları elde ediyorum. Ancak, çalıştığım programdaki (adresleri adım motorlarını denetlemek için EMC2) bu adreslerden birini kullanmaya çalıştığımda, bu adreste paralel bir bağlantı noktası bulamıyor.Linux'ta Paralel Bağlantı Noktasının Bellek Adresini Bulma
Gerçekten harika olan şey, Windows Aygıt Yöneticisi -> Bağlantı Noktaları -> Kaynaklar için bir analog olsaydı. Ubuntu'da bunu yapmanın bir yolu var mı? PCIe cihazları için standart bir hafıza yeri var mı?
Düzenleme: hafıza konumunu gösterir başka bir girişe, 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
dan Ve başvuru için çıkış :
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
Paralel bağlantı kartınıza 'lspci -w' çıktısını ekleyebilir misiniz? PCIe aygıtları için standart bellek konumu olmadığını ve paralel bağlantı noktalarının genellikle bellek adres bölgelerine sahip olmadığını söyleyebilirim. –
@adrian lspci, -w'nin geçerli bir bayrak olmadığından şikayet ediyor. 0x378, 0x278 ve 0x3BC'nin paralel bir bağlantı noktası için üç standart konum olduğunu okudum, ancak benimki bu noktalardan herhangi birinde görünmüyor. Bir I/O port numarasından hafıza adresini belirlemenin bir yolu var mı? – Sam
EMC2 belgelerine katılma http://wiki.linuxcnc.org/emcinfo.pl?TroubleSonraki linux kernel modülünü kaldırmanız gerektiğine dikkat edin parport_pc çünkü büyük olasılıkla paralel port adresleri üzerinde kontrol sahibi olur ve yazılımınız bunlara erişemez. Parport (parport_pc, parport, ppdev gibi) ile bağlantılı tüm modülleri kaldırmak için 'lsmod' ve 'rmmod' komutlarını kullanın ve tekrar deneyin. – Zuljin