2013-01-08 20 views
5

मैं निम्नलिखित समस्या के समाधान के बारे में कुछ विचार एकत्र करना चाहता हूं। मुझे एक टीओएफ कैमरा मिला है, और इसके ड्राइवर लिनक्स x86/64 के लिए है। यह बढ़िया काम करता है। लेकिन वास्तव में यदि कैमरा संभव है तो कैमरे को एआरएम आधारित एम्बेडेड डिवाइस पर इस्तेमाल किया जाएगा।क्या लिनक्स पर x86 से ARM तक द्विआधारी पुन: संकलित करने का कोई तरीका है?

सवाल:

  • मैं ड्राइवर बाइनरी डिकंपाइल और एआरएम संकलक के साथ पुन: संयोजित करने के लिए होना चाहिए? क्या कोई उपलब्ध डिकंपेलर उपकरण है?
  • क्या कोई एआरएम >> x86 एमुलेटर उपलब्ध है?
  • कोई अन्य विचार?

ps: शुद्ध स्रोत बहुत महंगा है, तो मैं वैसे भी इसे खरीदने के लिए :)

+0

आपके प्रश्न का शीर्षक प्रभावी ढंग से पढ़ा जा सकता है "क्या मैं एआरएम डिवाइस पर x86 बाइनरी चला सकता हूं?" और इसका जवाब "नहीं" है। आप ड्राइवर को इंजीनियर कर सकते हैं, यही वह है। – auselen

उत्तर

1
  1. AFAIK, आज के रूप में पसंद नहीं है, ऐसी कोई decompiler कि मशीन से compilable कोड उत्पन्न होगा कोड। जेनरेट कोड को मैन्युअल रूप से ठीक करना होगा (आमतौर पर बहुत सारे फिक्स)। आप लिनक्स डीकंपलर के लिए this प्रश्न देख सकते हैं।
  2. QEmu देखें। अंतर्निहित आर्किटेक्चर तब तक प्रासंगिक नहीं है जब तक आप इसे निष्पादित कर सकें;)
  3. आपने जो कहा है उसके अलावा बहुत कुछ नहीं है।

आप जो प्रयास कर रहे हैं वह है (भाग में) reverse engineering। आरई एक जटिल प्रक्रिया है और चीज में आपको बहुत अच्छा ज्ञान की आवश्यकता है; आपके मामले में कैमरा ड्राइवर। यदि आपके पास इस क्षेत्र में ज्ञान है, तो आगे बढ़ें। यदि आप नहीं करते हैं, तो मैं अपना समय बर्बाद नहीं करता (या ज्ञान पहले प्राप्त करता हूं;))

0

हाल Eltechs ExaGear Server बनाया, ARM as A Service पर उपलब्ध है, एआरएम उपकरणों पर 86 ऐप्लिकेशन चलाता: यह समस्या है इस तरह के एक अनुवाद स्वचालित करने के लिए प्रयास करने से आपके सामने आ सकता है में से कुछ सूचीबद्ध करता है।

यह नया और स्वामित्व है, लेकिन यह अस्तित्व में है।

0

यदि आपका ड्राइवर कर्नेल ऑब्जेक्ट है, तो कोई भी एमुलेटर (मेरे ज्ञान के लिए) ARM कर्नेल के अंदर x86 कर्नेल कोड चलाने में सक्षम नहीं है। यदि आपका "ड्राइवर" वास्तव में एक सामान्य ड्राइवर (v4l2, आदि) के शीर्ष पर एक उपयोगकर्तास्पेस लाइब्रेरी हैक किया गया है, तो आप यहां उल्लिखित QEMU या Exagear के साथ भाग्य प्राप्त कर सकते हैं। एक साइड नोट के रूप में, आप शायद एक x86 एप्लिकेशन सॉफ़्टवेयर के साथ समाप्त हो जाएंगे, क्योंकि एआरएम कोड से x86 लाइब्रेरी को कॉल करने के रूप में बॉक्स के बाहर QEMU या Exagear द्वारा समर्थित नहीं है।