मैं विकास बोर्ड के लिए स्थापित एक टूलचैन के लिए जीसीसी विकल्प जानने की कोशिश कर रहा हूं, सबर-लाइट जो फ्रीस्केल के आईएमएक्स 6 क्वैड प्रोसेसर के आसपास आधारित है।एक फ्रीस्केल iMX6q एआरएम प्रोसेसर के लिए जीसीसी विकल्प
अब मुझे पता है कि iMX6 मूल रूप से एक कॉर्टेक्स-ए 9 प्रोसेसर है जिसमें सह-प्रोसेसर vfpv3 और नियॉन, और वेक्टर ग्राफिक्स, 2 डी और यहां तक कि 3 डी इंजन भी हैं।
हालांकि, रिलीज नोट्स और उपयोग मार्गदर्शिका दस्तावेज़ इस बात पर स्पष्ट नहीं हैं कि जीसीसी में सक्षम किए जा सकने वाले किसी भी विकल्प को कैसे सक्षम किया जाए।
वास्तव में जिन विकल्पों के साथ मैं 'खेल' सकता हूं, वे निम्नलिखित हैं।
-march= armv7-a - ok this one is pretty obvious.
-mfpu= vfpv3/neon - i can use only the vfpv3 co-processor, or both (respectively, depends on option)
-mfloat-abi=softfp/soft/hard - I guess I can choose hard here, as there is hardware for fp operations
-mcpu=cortex-a9 - is it option even necessary? it is not clear if it just an alias for -march or something else.
क्या अन्य विकल्प मुझे सक्षम करना चाहिए? क्यों toolchain करता है के रूप में डिफ़ॉल्ट विकल्प लिनक्स कर्नेल/uboot निर्माण करने के लिए/पैकेज निम्नलिखित:
-march= armv7-a -mfpu= vfpv3 -mfloat-abi=softfp
आपकी मदद
आपका -mfloat-अबी से मेल खाना चाहिए जो भी ABI आपके सिस्टम पर प्रयोग किया जाता है। सॉफ्टफैप फ्लोटिंग पॉइंट हार्डवेयर का भी उपयोग करता है, लेकिन कॉलिंग सम्मेलन अलग-अलग होता है। आप "readelf -A/bin/ls" (उदाहरण के लिए) के साथ जांच सकते हैं। "टैग_एबीआई_वीएफपी_एआरएस: वीएफपी रजिस्ट्रार" का मतलब मुश्किल है। – unixsmurf
बेहद उपयोगी, बहुत बहुत धन्यवाद! – nass
(बेशक, यदि आप सिस्टम के मूल जीसीसी का उपयोग करके अपने लक्षित सिस्टम पर मूल रूप से संकलित कर रहे हैं, तो जो कुछ भी सही एबीआई संकलक में डिफ़ॉल्ट होगा, और छोड़ा जा सकता है।) – unixsmurf