'एंबेडेड' थोड़ा भरा हुआ शब्द है।
कुछ मामलों में, किसी भी सिस्टम को एक ही एप्लिकेशन को चलाने के लिए समर्पित किया जा सकता है, जिसे एक एम्बेडेड सिस्टम कहा जा सकता है, जब तक कि कुछ हार्डवेयर को नियंत्रित किया जाना है। यदि आप स्थानीय I / O मॉड्यूल के माध्यम से एक प्रक्रिया को नियंत्रित करने के लिए होता है, तो आप यकीनन 400MHz PPC604 को 2GB RAM के साथ जावा एप्लिकेशन को कॉल कर सकते हैं। दूसरी ओर, एक arduino बस किसी प्रकार का न्यूनतम नेटवर्क अनुप्रयोग चलाने से एक एम्बेडेड सिस्टम की अधिकता नहीं होगी। लेकिन शायद 'एंबेडेड' ज्यादातर लोगों को फ्लैश आधारित नियंत्रकों के बारे में सोचता है जो केवल कुछ सौ बाइट्स रैम के साथ होते हैं, बोलने के लिए कोई ऑपरेटिंग सिस्टम नहीं है और ऑन-चिप बाह्य उपकरणों की अधिकता है।
यह कहा जा रहा है, शायद दो सबसे बड़ी बाधा गैर-एम्बेडेड प्रोग्रामर आमतौर पर सीखने वाली एम्बेडेड सिस्टम I / O रजिस्टर और इंटरप्ट होते हैं।
व्यवधान वास्तव में गैर-एम्बेडेड प्रोग्रामर के लिए दो अवधारणाओं के लिए आसान हो सकता है, जिससे निपटने के लिए, क्योंकि इन, संगामिति और इवेंट संचालित प्रोग्रामिंग के साथ मुख्य मुद्दे अक्सर मुख्यधारा के अनुप्रयोगों में सामने आते हैं। क्या एक व्यवधान को बाधित करता है एक प्रणाली की चरम संवेदनशीलता को उसके रुकावट से निपटने की गुणवत्ता के लिए महसूस कर रहा है, और बाधा स्थिति को साफ करने और अगले एक के लिए हार्डवेयर के साथ काम करने की पेचीदगियां। एक जीयूआई के साथ, एक गतिरोध सिर्फ आवेदन को मारता है। एक बाधा हैंडलर के साथ, एक गतिरोध आपके पूरे सिस्टम को लॉक करने का कारण बनता है।
I / O उपकरण ऐसा क्षेत्र प्रतीत होता है जो सबसे अधिक कठिनाई का कारण बनता है। Uninitiated, यह है कि इस रजिस्टर पढ़ने को खोजने के लिए काफी एक आश्चर्य हो सकता है यहां कि रजिस्टर पर एक प्रभाव पड़ता है वहाँ । बिट्स को साफ़ करने के लिए 1 लिखना। स्टेटस बिट्स जो आप डेटा रजिस्टर पढ़ते समय खुद को स्पष्ट करते हैं, आदि I / O हार्डवेयर के साथ इतनी संभावनाएं हैं कि इससे निपटने के लिए कोई सामान्य नियम नहीं है, सिवाय डिवाइस डेटा शीट को खोजने और उसकी व्याख्या करने के। सीरियल पोर्ट के लिए डिवाइस ड्राइवर लिखना आपको निम्न स्तर I / O प्रोग्रामिंग के बारे में बहुत कुछ सिखाएगा।
इन चीजों को सीखने के लिए वास्तव में कोई विकल्प नहीं है कि किसी की आस्तीन को रोल करें, और नंगे धातु पर सीधे सी और / या असेंबली भाषा को प्रोग्राम करें। यहां तक कि उपर्युक्त जावा आधारित एम्बेडेड सिस्टम को अंततः I / O के लिए एक डिवाइस ड्राइवर की आवश्यकता होती है, और इसका मतलब अंततः कुछ C. अनुभव के साथ काम करना सबसे अच्छा शिक्षक है। एक माइक्रोकंट्रोलर चुनें, यह MSP430, TMS320, AVR, ARM, PIC, 68HC11, जो भी हो, एक eval किट ढूंढें, और कुछ सिस्टम बनाएं।