2011-10-25 12 views
8

मल्टीटास्किंग/मल्टीथ्रेडिंग के समर्थन के साथ कौन सा आरटीओएस ओडासोर्स/फ्री क्रॉस-कंपाइलर्स उपलब्ध है?एडीए मल्टीटास्किंग आरटीओएस ओपनसोर्स क्रॉस-कंपाइलर्स के साथ समर्थित

मेरे पास एक एटमेल AT90USB162 चिप है जिसे मैं एडा का उपयोग करके प्रोग्राम करना चाहता हूं। मेरा पहला विकल्प प्रोग्रामिंग के लिए एवीआर-एडा का उपयोग करना था, लेकिन चूंकि इसमें कोई कार्य करने का समर्थन नहीं है, यह पसंद से बाहर है (और अब मुझे इस पर कोई संकेत नहीं है कि यह कार्यरत कैसे समर्थित है)। तो मुझे एक मजबूत दृष्टिकोण की जरूरत है। मैंने क्यूएनएक्स का उपयोग करने के बारे में सोचा, लेकिन यह मेरे चिप स्टैंड से कहीं अधिक जटिल है।

मुझे यह जानकारी मिली कि एवीआर चिप यूसी/ओएस -2 और फ्रीआरटीओएस का समर्थन करता है। क्या फ्रीआरटीओएस या यूसी/ओएस -2 के लिए मुफ्त एडा क्रॉस-कंपाइलर हैं?

धन्यवाद।

उत्तर

6

RTEMS कम से कम कुछ आर्किटेक्चर के लिए जीएनएटी का समर्थन करता है। हालांकि, चूंकि आपने एटम एवीआर आर्किटेक्चर का उल्लेख किया है, इसलिए शायद यह आर्किटेक्चरल बाधाओं (ज्यादातर उपलब्ध स्मृति) के कारण समर्थित नहीं है। आरटीईएमएस बहुत परिपक्व है (लिनक्स का आविष्कार करने से पहले यह खुला स्रोत था), और कई परियोजनाओं में बेहद उपयोग योग्य साबित हुआ है।

एक और विकल्प MarteOS है, जो एडा में समर्थन करता है। हालांकि, आर्किटेक्चर का समर्थन बहुत सीमित रहा है (शुरुआत में केवल x86)।

तो, अपनी परियोजना की कमी के आधार पर आप सबसे अधिक संभावना तीन विकल्प हैं: AVR के साथ

  1. स्टे, और एडीए के लिए टास्किंग समर्थन अपने स्वयं के क्रम लिखने;
  2. पुन: विचार करें यदि आपको वास्तव में कार्य करने के लिए रन-टाइम समर्थन की आवश्यकता है; या
  3. अपने आर्किटेक्चर को उस पर अपग्रेड करें जो आरटीओएस द्वारा समर्थित है जो एडा का समर्थन करता है।

(मैं पहली बार एक मालिकाना चारों ओर 2004-2005 में ARM9TDMI कोर पर आधारित परियोजना के लिए GNAT एडीए के साथ RTEMS इस्तेमाल किया है।)

+1

हाय शेडलर। मैंने RTEMS के README.configure दस्तावेज़ में चेक किया है, एवीआर भी समर्थित है। तो मैं दस्तावेज को और अधिक विस्तार से पढ़ूंगा, लेकिन मुझे लगता है कि यह मेरी परियोजना में उपयोग करने के लिए बहुत ही प्रोमोसिंग है। धन्यवाद। – Rego

+0

कार्यालय सुइट जिस कंपनी ने आरटीईएमएस, ओएआर निगम विकसित किया है, उस इमारत के नजदीक स्थित है जहां मैं अभी काम कर रहा हूं। मैं हर दिन दोपहर के भोजन पर पार्क के चारों ओर घूमता हूं और बड़े ओएआर संकेत से ठीक पहले जाता हूं। –

+0

@MarcC - आप उनके बिना एक क्रीक बनना नहीं चाहते हैं! ;-) –

6

ठीक है, मुझे पता है कि केवल एकमात्र एडा संकलक है जो फ्री सॉफ्टवेयर है गीना। इसलिए यह आपके प्रश्न को कम करता है "क्या आरटीओएस कार्य करने के साथ जीएनएटी समर्थन करता है?"

अधिनियम supported platforms here की एक सूची रखता है। दाएं कॉलम ज्यादातर आरटीओएस या छद्म आरटीओएस की तरह दिखता है। फ्रीआरटीओएस और यूसी/ओएस-द्वितीय सूची में प्रतीत नहीं होता है।

मैं "बेयर बोर्ड" के तहत अपनी प्रविष्टि के नीचे "एवीआर माइक्रोक्रोनरोलर ईएलएफ प्रारूप (विंडोज़ पर होस्ट किया गया)" के तहत अपनी सूची के नीचे नीचे ध्यान देता हूं। वह हो सकता है जो आप खोज रहे हैं। हालांकि, मैं कहूंगा कि उनके नंगे बोर्ड बंदरगाहों का कामकाज का समर्थन करने का कोई अच्छा मौका नहीं है। वास्तव में, इसके बारे में सोचते हुए, यह एवीआर-एडा के लिए ACT का नाम हो सकता है। आपको ACT के साथ जांच करनी होगी।

इसके अलावा, यह ध्यान दिया जाना चाहिए कि अधिक से अधिक गूढ़ जीसीसी लक्ष्यों के लिए "मुफ्त" बाइनरी ढूंढना बहुत मुश्किल है। इसका मतलब है कि आपको या तो स्रोतों से खुद को संकलक बनाने के लिए मजबूर होना पड़ सकता है (दिल की बेहोशी के लिए भी दूरस्थ रूप से नहीं), या वास्तव में इसे प्राप्त करने के लिए ACT से एक समर्थन पैकेज खरीदना पड़ सकता है।

5

मैं मूल RTEMS डेवलपरों में से एक हूँ और RTEMS परियोजना के बाद से नेतृत्व किया गया यह एक सैन्य शोध कार्यक्रम से पारंपरिक मुक्त सॉफ्टवेयर परियोजना में परिवर्तित हो गया। हम आरटीईएमएस को एक महान समुदाय के साथ एक उच्च गुणवत्ता वाले उत्पाद के रूप में रखने के लिए बहुत मेहनत करते हैं।

एवीआर एक छोटा सा लक्ष्य है और आरटीईएमएस पोर्ट अपूर्ण है।भले ही आरटीईएमएस बंदरगाह पूरा हो, मुझे नहीं लगता कि जीएनएटी/आरटीईएमएस का समर्थन करने के लिए पर्याप्त पता स्थान वाला एक एवीआर है। जीएनएटी प्रत्येक एडीए कार्य को जीएनयू/लिनक्स के रूप में एक पॉसिक्स थ्रेड पर मैप करता है और "असली एडा" पर्यावरण के लिए रन-टाइम पदचिह्न बड़ा होता है। मुझे PowerPC पर 400K कोड रेंज में न्यूनतम निष्पादन योग्य याद हैं। इसकी तुलना में, आरटीईएम न्यूनतम सी निष्पादन योग्य संभवतः उसी लक्ष्य पर 32-40k रेंज में है।

मैं एवीआर-एडा से परिचित नहीं हूं लेकिन मैं इस बात से सहमत हूं कि आपको पूर्ण एडा पर्यावरण देने की संभावना नहीं है।

आरटीईएमएस प्रोजेक्ट में स्क्रिप्ट हैं जिनका उपयोग हम जीएनयू टूल्स बनाने और उनका परीक्षण करने के लिए करते हैं। यदि आप अपने स्वयं के अजीब लक्ष्य के लिए उपकरण बनाने में रुचि रखते हैं, तो वे एक अच्छी मार्गदर्शिका बन सकते हैं। प्रक्रिया एम्बेडेड लक्ष्यों के लिए बहुत भिन्न नहीं है।

मार्क सी .. चूंकि आप हंट्सविल में हैं, इसलिए हमें कभी-कभी दोपहर के भोजन के लिए मिलना होगा। हमारा कार्यालय लगभग ब्रिज स्ट्रीट से है। मुझे वास्तव में कई आरटीईएमएस उपयोगकर्ताओं से मिलना नहीं है। :(

+0

आपकी प्रतिक्रिया को बहुत स्पष्ट करता है, @, धन्यवाद। मैंने आरटीईएमएस दस्तावेज में एक नज़र डाली थी, जब @ शेडलर ने इसके बारे में बात की थी (और तब तक मुझे आरटीईएमएस के बारे में पता नहीं था)। और एक पूर्ण बंदरगाह नहीं होने के बावजूद, मुझे सभी सीमाओं के साथ भी एवीआर के साथ उपयोग करना बहुत दिलचस्प लगता है। कम से कम सीखने के उद्देश्यों के लिए। यदि आप उन्हें कुछ पावर पीसी या एसपीएआरसी आर्किटेक्चर से तुलना करते हैं तो अधिकांश एवीआर चिप्स बहुत सीमित हैं। मैंने VxWorks पर पावर पीसी में कुछ एप्लिकेशन विकसित किए हैं, और बस उनके पास प्रोग्रामिंग प्रतिमान पूरी तरह अलग हैं। – Rego

+0

लेकिन एवीआर उपयोगकर्ता आमतौर पर इन सीमाओं के लिए उपयोग किए जाते हैं, और जो अनुप्रयोग इसे सामान्य रूप से उपयोग करते हैं उन्हें गहरी वास्तविक समय की बाधाओं की आवश्यकता नहीं होती है। आरटीईएमएस दस्तावेज़ में आरटीईएमएस सीपीयू आर्किटेक्चर सप्लीमेंट में मुझे एवीआर के उपयोग के लिए उपलब्ध सुविधाओं को काफी रोचक मिला, इसलिए मैंने कुछ एमएससी छात्रों को आरटीईएमएस का उपयोग चुनौती के रूप में एवीआर में कुछ विशेषताओं को लागू करने की संभावना पर काम करने का सुझाव दिया। – Rego

+0

एवीआर-एडा एक शानदार ओपन-सोर्स प्रोजेक्ट है, लेकिन अब यह पूरा नहीं हुआ है। और यदि मैं कर सकता हूं तो मैं इसका उपयोग करना चुनूंगा, क्योंकि यह एक बहुत ही सहज तरीके से लागू किया गया है। इसका उद्देश्य कुछ माइक्रोकंट्रोलर के लिए 8-बिट विंडोज क्रॉस-कंपाइलर को कार्यान्वित करना था, लेकिन इसमें अभी तक कई अच्छी एडा फीचर्स की कमी है, जो कि एडा का उपयोग करने के अच्छे स्वाद हैं। उदाहरण के लिए, यह कार्य करने का समर्थन नहीं करता है, न तो अपवाद। ऐसा लगता है कि इस वर्ष अभी तक एक नई रिलीज होगी, लेकिन दुर्भाग्य से वर्तमान अत्याधुनिक अनुप्रयोगों के लिए उपयोग करना संभव नहीं है। मुझे आशा है कि अगली रिलीज इसे ठीक करेगी। – Rego

3

हम AVR बंदरगाह और पूरी बन जाते हैं! हमारे विकास मेलिंग सूची में शामिल और सवाल पूछने के लिए अपने छात्रों को प्रोत्साहित देखने के लिए प्यार होता।

RTEMS VxWorks के रूप में RTOS की एक ही कक्षा में है। यही कारण है कि यह एक देता है समृद्ध फीचर सेट जिसे छोटे 8 और (कुछ) 16 बिट सीपीयू पर फिट करने के लिए छंटनी की जानी है। हमारी चुनौती लक्ष्य के लिए "छोटे/आरटीईएमएस" फीचर प्रोफाइल की पहचान करने में है। आरटीईएमएस वास्तव में बहुत स्केलेबल है लेकिन जब आप नहीं करते पता है कि उस वर्ग सीपीयू पर फीचर सेट क्या सार्थक होगा, यह हमें कोई ठोस लक्ष्य नहीं छोड़ता है। कृपया उपयोगकर्ता की आवश्यकताओं और लक्ष्य को परिभाषित करने में मदद करें।

इसके अलावा हम वास्तव में एक बीएसपी भी पसंद करते हैं जो एक मुफ्त सिम्युलेटर पर चलता है हर लक्ष्य वास्तुकला। जब मैं बंदरगाह पर सक्रिय रूप से काम कर रहा था तब सिमूलएवीआर मैं उपयोग कर रहा था। एडाकोर ने अवास्तविक नामक कुछ इस्तेमाल किया लेकिन यह अधिक सीमित था - उपयोगी लेकिन सीमित।

+0

धन्यवाद। मैं उन्हें सूची में शामिल होने का सुझाव दूंगा। मुझे लगता है कि यह सीखने के लिए यह एक अच्छा मौका है। – Rego

संबंधित मुद्दे