पर समांतर बंदरगाह का मेमोरी पता ढूँढना मैं एक पीसीआई एक्सप्रेस कार्ड के माध्यम से अपने लैपटॉप से जुड़े समांतर बंदरगाह के बेस (मेमोरी) पते को खोजने का प्रयास कर रहा हूं। चल रहा है lspci -v
दिखाता है कि मेरा कंप्यूटर समांतर बंदरगाह को पहचानता है और I/O बंदरगाहों (1000 और 1008) देता है लेकिन स्मृति पता नहीं (अन्य प्रविष्टियों में पोर्ट और मेमोरी दोनों स्थान हैं ... यह कार्ड स्मृति पता के बिना एकमात्र प्रविष्टि है)। साथ ही, जब मैं /proc/ioports
में देखता हूं तो मुझे lspci में दिए गए एक ही बंदरगाह मिलते हैं। हालांकि, जब मैं प्रोग्राम में उन पते में से किसी एक का उपयोग करने का प्रयास करता हूं, तो मैं चल रहा हूं (स्टेपर मोटर्स को नियंत्रित करने के लिए ईएमसी 2), इसे उस पते पर समांतर बंदरगाह नहीं मिलता है।लिनक्स
विंडोज डिवाइस मैनेजर -> पोर्ट्स -> संसाधनों के लिए एनालॉग होने पर वास्तव में बहुत अच्छा क्या होगा। उबंटू में ऐसा करने का कोई तरीका है? पीसीआईई उपकरणों के लिए मानक स्मृति स्थान है?
संपादित करें: कि स्मृति स्थान से पता चलता 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
क्या आप अपने समानांतर पोर्ट कार्ड पर 'lspci -w' के आउटपुट को संलग्न कर सकते हैं? मैं आपको बता सकता हूं कि पीसीआईई उपकरणों के लिए कोई मानक मेमोरी लोकेशन नहीं है, और समानांतर बंदरगाहों में अक्सर स्मृति पता क्षेत्र नहीं होते हैं। –
@adrian lspci शिकायत कर रहा है कि -एक वैध ध्वज नहीं है। मैंने पढ़ा है कि 0x378, 0x278, और 0x3BC समानांतर बंदरगाह के लिए तीन मानक स्थान हैं, लेकिन मेरा उन किसी भी स्थान पर दिखाई नहीं देता है। क्या I/O पोर्ट नंबर से मेमोरी पता निर्धारित करने का कोई तरीका है? – Sam
ईएमसी 2 दस्तावेज को प्राप्त करना http://wiki.linuxcnc.org/emcinfo.pl? समस्या निवारण आपको लिनक्स कर्नेल मॉड्यूल parport_pc को अनलोड करना है क्योंकि शायद यह समांतर बंदरगाह पते पर नियंत्रण लेता है और आपका सॉफ़्टवेयर उन तक पहुंच नहीं सकता है। परपोर्ट से जुड़े सभी मॉड्यूल को हटाने के लिए 'lsmod' और' rmmod' का उपयोग करें (जैसे parport_pc, parport, ppdev) और पुनः प्रयास करें। – Zuljin