इस प्रश्न से संबंधित चर्चा यहाँ की गई है: लिंक
अर्क: लिनक्स जर्नल लेख जिसे संदर्भित किया जाता है वह यहां है: लिंक
मुझे लगता है कि 8052 और M68HC12 पोर्ट्स विशेष रूप से NuttX की विशेषता के लिए खराब विकल्प हैं, क्योंकि इन दोनों में कुछ मुद्दे हैं, और NuttX अब 63 रिलीज के साथ 5.16 संस्करण में है।
मैंने यहां "प्रकाशक" टैब में साक्षात्कार भरा: लिंक ; वहाँ भी एक समीक्षा है: लिंक ।
व्यापक NuttX प्रलेखन यहाँ उपलब्ध है: लिंक ।
Hcs12 और 8051 भागों के मुद्दे इस प्रकार हैं:
8051 / 80c52: यह वास्तुकला वास्तव में RTOS शत्रुतापूर्ण है। यह एक समर्पित स्मृति स्थान (पता 0) पर एक छोटे हार्डवेयर स्टैक (8051, 80c52 पर 256 बाइट्स पर 128 बाइट्स) है। कार्यों को स्विच करने के लिए, आपको कार्य के पूरे स्टैक को उसके समर्पित पते से कुछ सहेजने के स्थान पर अवरोधित करना होगा, और फिर कार्य के पूरे स्टैक को उसके सहेजे गए स्थान से समर्पित स्टैक स्थान पर प्रारंभ करने के लिए कॉपी करना होगा। YECH!
और चूंकि, स्टैक इतना छोटा है। स्टैक से आगे निकलना बहुत आसान है, खासकर इंटरप्ट हैंडलिंग के दौरान।
NuttX 8051 पोर्ट पूर्ण और कार्यात्मक है (कम से कम पिछली बार मैंने इसका इस्तेमाल किया था)। लेकिन इसे उपयोगी बनाने के लिए, आपको संभवतः प्रत्येक रुकावट पर पूरे स्टैक को कॉपी करना होगा और साथ ही इसे ओवरफ्लो होने से बचाना होगा। मूल रूप से, मैंने उस बिंदु पर रुचि खो दी थी लेकिन अगर कुछ लोग वास्तव में 8051 का उपयोग करने के लिए प्रेरित थे, तो यह संभव है (यदि शायद अच्छी तरह से सलाह नहीं दी गई है)।
8051 के बंदरगाह के बारे में जो अच्छा था वह यह है कि यह NuttX को बहुत छोटे मेमोरी लोकेशन में लाने के लिए एक बहुत अच्छा अभ्यास था। 8051 पोर्ट 32Kb RAM में चलता है - जिसमें RTOS, libc, कंपाइलर लाइब्रेरी, एक पर्याप्त टेस्ट प्रोग्राम, .data / .bs, और ढेर शामिल हैं। और थोड़ी याददाश्त के साथ!
hcs12: यह एक ऐसी परियोजना है जो मैं अपने खाली समय में काम करता हूं जब मैं कुछ और नहीं कर रहा होता हूं। यह अभी समाप्त नहीं हुआ है और अभी तक प्राइम टाइम के लिए तैयार नहीं है।
अन्य RTOS की तुलना के संबंध में, मेरे पास वास्तव में कोई अच्छा, आधिकारिक जवाब नहीं है क्योंकि मैं अन्य RTOS का उपयोग नहीं करता हूं। लेकिन यहाँ मेरी भोली समझ है:
FreeRTOS में डाउनलोड के टन और 4Kb के बारे में एक बहुत छोटे पदचिह्न हैं। यह वास्तव में छोटे MCUs के लिए पसंद का RTOS है। FreeRTOS पोर्ट को सिलिकॉन वेंडर्स द्वारा हर MCU के साथ बंडल किया जाता है। तो यह डिफ़ॉल्ट RTOS विकल्प है।
वहाँ बाहर FreeRTOS के साथ दर्जनों प्रतियोगियों हैं। ChiBIOS तुरंत दिमाग में आता है। ये सभी अलग-अलग प्रकार के छोटे शेड्यूलर हैं।
वास्तविक तुलना करने के लिए, एक बात जो हमें सबसे पहले करने की आवश्यकता है वह यह है कि हम एक आरटीओएस से क्या मतलब रखते हैं: क्या यह सिर्फ एक अनुसूचक है? या यह मानक ओएस सुविधाओं का एक एकीकृत सेट है - जैसे अनुसूचक, फाइलसिस्टम, डिवाइस ड्राइवर, मेमोरी प्रबंधन, नेटवर्किंग, आदि। अधिकांश ऑपरेटिंग सिस्टम, उदाहरण के लिए लिनक्स, पूर्ण विकास वातावरण हैं, न कि केवल अनुसूचक। NuttX एक पूर्ण ऑपरेटिंग सिस्टम है जो लिनक्स के समान ही है। यहाँ दूसरों के एक जोड़े हैं:
आरटीईएमएस : मैंने इसके साथ काम किया है। यह हमेशा के लिए चारों ओर रहा है और बहुत स्थिर होना चाहिए। यह बड़ा है; सोचो> 100kb। मुझे लगता है कि यह एमसीयू बाजार से थोड़ा ऊपर है।
uCOS : कभी इसका इस्तेमाल नहीं किया, लेकिन यह कई लोकप्रिय बूटलोडर्स के तहत RTOS है, है ना? मेरी धारणा यह है कि यह आरटीईएमएस के समान है, लेकिन मैं वास्तव में नहीं जानता कि मैं किस बारे में बात कर रहा हूं।
मैं उन लोगों से NuttX की तुलना कैसे करूंगा: ठीक है, यह बहुत छोटा है। शुरुआती पायदान 20Kb के आसपास है। एक पूर्ण रूप से चित्रित विवरण कुछ 10-20Kb अधिक है। इन RTOS से एक और अंतर यह है कि NuttX बहुत मानक उन्मुख है। आप NuttX को एक छोटे, लिनक्स काम के समान समझ सकते हैं। अधिकांश कोड जो लिनक्स पर संकलित और चलते हैं, वे NuttX पर भी चलेंगे (कुछ सिस्टम कोड जैसे नेटवर्किंग कोड या डेमॉन को कुछ ट्वीक की आवश्यकता हो सकती है)।
मुझे लगता है कि RTEMS माइक्रो-प्रोसेसर पर अधिक केंद्रित है; NuttX माइक्रो-कंट्रोलर्स पर अधिक केंद्रित है।