मैं पावरपीसी और एआरएम के लिए असेंबलर में प्रोग्रामिंग सीखना चाहता हूं, लेकिन मैं इस उद्देश्य के लिए वास्तविक हार्डवेयर खरीदने में असमर्थ हूं। मैं इसके लिए क्यूईएमयू का उपयोग करने के बारे में सोच रहा हूं। हालांकि मुझे यकीन नहीं है कि यह दोनों आर्किटेक्चरों को पर्याप्त रूप से अच्छी तरह से अनुकरण करता है, कि मैं अपने कार्यक्रमों को मूल असेंबलर में संकलित और चलाऊंगा?क्या एआरएम और पावरपीसी के लिए असेंबलर में प्रोग्रामिंग सीखने के लिए क्यूईएमयू अच्छा है?
उत्तर
QEMU परीक्षण कार्यक्रम के लिए अच्छी तरह से काम सुधार (यानी कोड को ठीक से एक वास्तविक एआरएम या PowerPC पर चलाना शामिल है या नहीं), लेकिन यह परीक्षण कार्यक्रम के लिए अच्छा नहीं है दक्षता: अनुकरण चक्र सही नहीं है, और गति मापा जाता QEMU के साथ विश्वसनीय हार्डवेयर पर गति से संबंधित (या यहां तक कि अविश्वसनीय रूप से) विश्वसनीय नहीं हो सकता है।
इसके अलावा, क्यूईएमयू अनियंत्रित मेमोरी एक्सेस को फंस नहीं पाएगा, जो पावरपीसी इम्यूलेशन (पावरपीसी असाइन किए गए एक्सेस को सहन करता है) के लिए कोई समस्या नहीं है, लेकिन एआरएम (एक असाइन किए गए एक्सेस के लिए हो सकता है, उदाहरण के लिए रैम में 32-बिट शब्द पढ़ना पता जो 4 का एक बहु नहीं है, क्यूईएमयू के साथ ठीक काम करेगा लेकिन एक वास्तविक एआरएम प्रोसेसर पर अपवाद ट्रिगर करेगा)।
इन बिंदुओं के अलावा, क्यूईएमयू एआरएम या एमआईपीएस पर असेंबली विकास के लिए ठीक है (मैंने पावरपीसी की कोशिश नहीं की है, क्योंकि मुझे इसके लिए ईबे पर पुराना आईबुक मिला है, लेकिन मैंने क्यूईएमयू के साथ एआरएम और एमआईपीएस असेंबली की है और फिर भाग गया सही हार्डवेयर पर परिणामी कोड, और यह काम किया)। आप या तो पूरे सिस्टम का अनुकरण कर सकते हैं और इसमें डेबियन चला सकते हैं (इस मामले में कंपाइलर, लिंकर, टेक्स्ट एडिटर ... भी इम्यूलेशन में चलाएगा), या "उपयोगकर्ता-मोड इम्यूलेशन" का उपयोग करें जहां एआरएम/एमआईपीएस निष्पादन योग्य है सीधे, एक रैपर के साथ जो मेजबान पीसी के लिए सिस्टम कॉल को परिवर्तित करता है (यह मानता है कि होस्ट एक पीसी चल रहा है)। उत्तरार्द्ध अधिक सुविधाजनक है (आपके पास अपनी सामान्य होम निर्देशिका तक पहुंच है, प्रोग्रामिंग उपकरण मूल हैं ...) लेकिन क्रॉस-डेवलपमेंट टूल इंस्टॉल करने की आवश्यकता है। इसके लिए buildroot देखें (और -static
के साथ लिंक करें, यह कई सिरदर्द से बच जाएगा)।
"उदाहरण के लिए रैम में 32-बिट शब्द पढ़ना जो कि 4 से अधिक नहीं है, क्यूईएमयू के साथ ठीक काम करेगा लेकिन एक वास्तविक एआरएम प्रोसेसर पर अपवाद ट्रिगर करेगा)।" असल में, कुछ एआरएम निर्देश सेट संस्करणों में, असाइन किए गए पते का उपयोग करके सामग्री को घुमाता है, हालांकि एआरएमवी 6 और बाद में, सामान्य असाइन किए गए पहुंच को समर्थित किया जाता है (यह कॉन्फ़िगर करने योग्य है)। http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472c/BABFDBCJ.html – rakslice
- 1. वेब प्रोग्रामिंग सीखने के लिए अच्छा ओपन सोर्स कोड
- 2. मशीन सीखने के लिए एक अच्छा पहला कार्यान्वयन क्या है?
- 3. क्यूईएमयू
- 4. क्या एआरएम नियॉन इंट्रिनिक्स के लिए कोई अच्छा संदर्भ है?
- 5. पायथन में सीजीआई प्रोग्रामिंग सीखने के लिए एक अच्छा संसाधन क्या है?
- 6. सीखने (एन) एएसएम के लिए सबसे अच्छा संसाधन क्या है?
- 7. ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बारे में सीखने के लिए कोई अच्छा कोर्स है?
- 8. Mongoid सीखने के लिए सबसे अच्छा ट्यूटोरियल क्या है?
- 9. डेटाबेस प्रोग्रामिंग सीखने के लिए एक अच्छा प्रारंभिक बिंदु, ट्यूटोरियल या प्रोजेक्ट क्या है?
- 10. नेटवर्क प्रोग्रामिंग सीखने के लिए कुछ अच्छे संसाधन क्या हैं?
- 11. सीखने के लिए अच्छा opensource जेएस परियोजना?
- 12. सीखने के लिए संसाधन Verilog
- 13. प्रोग्रामिंग सीखने के लिए YouTube में उपयोगी वीडियो
- 14. एआरएम प्रदर्शन को मापने के लिए कैसे?
- 15. सॉकेट प्रोग्रामिंग के लिए एक अच्छा बफर आकार क्या है?
- 16. सीखने के लिए संसाधन Emacs
- 17. सिम्बियन/एम्बेडेड प्रोग्रामिंग सीखने के लिए स्टार्टअप पॉइंट
- 18. डिजिटलमार्स डी प्रोग्रामिंग के लिए सबसे अच्छा आईडीई क्या है?
- 19. जटिल रिपोर्टिंग प्रश्न लिखने के लिए सीखने के लिए सबसे अच्छा ऑनलाइन एसक्यूएल ट्यूटोरियल क्या है?
- 20. पर्ल सीखने के लिए सिफारिशें?
- 21. सी ++ के लिए एमपीआई सीखने के लिए सबसे अच्छा ट्यूटोरियल क्या है?
- 22. एंड्रॉइड.एमके - एआरएम असेंबलर फाइलों को इकट्ठा करने और लिंक करने के लिए कैसे करें
- 23. प्रोग्रामिंग HTML और जावास्क्रिप्ट प्रोग्रामिंग के लिए
- 24. ज़ेन, क्यूईएमयू और केवीएम के बीच क्या अंतर है?
- 25. .net के साथ multithreading सीखने के लिए अच्छा स्रोत?
- 26. एलएलवीएम बैकएंड प्रोग्रामिंग सीखने के लिए कोड उदाहरण
- 27. जावा में रीस्टफुल एपीआई बनाने के तरीके सीखने के लिए सबसे अच्छा स्रोत क्या है?
- 28. ओएस एक्स पर असेंबलर सीखने के लिए मुझे टूल कहां मिल सकता है?
- 29. एम्बेडेड प्रोग्रामिंग मूल बातें सीखने के लिए आप कुछ सरल परियोजनाएं क्या कर सकते हैं?
- 30. ओपनसीएल सीखने के लिए एक अच्छी परियोजना क्या है?
चूंकि क्यूमु का उद्देश्य एक प्रोसेसर एमुलेटर होना है, इसलिए संभवतः उन आर्किटेक्चर को "पर्याप्त अच्छी तरह से" अनुकरण करता है, यदि दस्तावेज़ उन्हें समर्थन देने के लिए कहते हैं तो – ShinTakezou
एआरएम यूसी बहुत सस्ते हैं, तो आप हार्डवेयर (और JTAG 'डोंगल') खरीद सकते हैं। । आप eBay से यूएस $ 100 (शिपिंग सहित) के लिए दोनों प्राप्त कर सकते हैं। सस्ते इलेक्ट्रॉनिक्स के लिए आपको चीनी से प्यार करना होगा :) – leppie
वोट आधारित के रूप में बंद करने के लिए वोटिंग। –