एंबेडेड सिस्टम प्रोग्रामिंग और इसकी भाषाएँ क्या है

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





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

एंबेडेड सिस्टम के घटक

निम्नलिखित एम्बेडेड सिस्टम के घटक हैं




  • एंबेडेड हार्डवेयर: माइक्रो-नियंत्रक एम्बेडेड सिस्टम का दिल है, जहां संचार के उद्देश्य के लिए कई बाह्य उपकरणों को एम्बेडेड हार्डवेयर में हस्तक्षेप किया जाता है।
  • आरटीओ की एंबेडेड: एक एम्बेडेड वास्तविक समय ऑपरेटिंग सिस्टम का उपयोग सभी जटिल (ar संचालन) करने के लिए किया जाता है।
  • डिवाइस ड्राइवर: यह ऑपरेटिंग सिस्टम और परिधीय उपकरणों के बीच एक सेतु का काम करता है।
  • संचार ढेर: इसका उपयोग बाहरी उपकरणों के साथ संचार करने के लिए किया जाता है।
  • एंबेडेड एप्लिकेशन: यह एम्बेडेड डिवाइस का पूर्वनिर्धारित कार्य करता है।
एंबेडेड सिस्टम घटक

एंबेडेड सिस्टम घटक

उपकरणों के नियंत्रण के लिए सॉफ्टवेयर

एक एम्बेडेड सॉफ़्टवेयर या एम्बेडेड सिस्टम प्रोग्रामिंग कंप्यूटर सॉफ्टवेयर है, जिसका उपयोग निर्देशों का एक सेट प्रदान करके उपकरणों को नियंत्रित करने के लिए किया जाता है। इसे भी नाम दिया गया है फर्मवेयर, विभिन्न कार्यात्मकताओं वाले विभिन्न उपकरणों को एम्बेडेड सॉफ़्टवेयर का उपयोग करके डिज़ाइन की कमी (जैसे प्रतिक्रिया समय की कमी, सख्त समय सीमा और संसाधित डेटा) को बनाए रखने और अंतिम डेटा को संग्रहीत करने के द्वारा प्रोग्राम किया जा सकता है याद (राम / रोम)।



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

एंबेडेड सिस्टम प्रोग्रामिंग लैंग्वेज

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

  • आकार : प्रोग्राम द्वारा आवश्यक मेमोरी की मात्रा एक महत्वपूर्ण भूमिका निभाती है, क्योंकि एम्बेडेड प्रोसेसर (माइक्रोकंट्रोलर) में इसके अनुप्रयोग के आधार पर एक विशिष्ट मात्रा में ROM (रीड ओनली मेमोरी) होती है।
  • स्पीड : कार्यक्रम निष्पादन की गति तेज होनी चाहिए
  • पोर्टेबिलिटी: एक कार्यक्रम का उपयोग करके विभिन्न प्रोसेसर संकलित किए जा सकते हैं।
  • कार्यान्वयन मुश्किल है
  • रखरखाव मुश्किल है।

असेंबली भाषा में एंबेडेड सिस्टम का प्रोग्रामिंग

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


इनपुट

यहां: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

एडीडी ए, आर 1

MOV P0, ए

यहाँ SIMP

उत्पादन

पता Opcode Operand

0000 78 01
0002 79 02
0004 E8 -
0005 29 -
0006 F5 80
0008 80 00

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

सी, सी ++, जावा और एंबेडेड सी के बारे में

सी प्रोग्रामिंग

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

एंबेडेड सी

एंबेडेड सी सी भाषा का एक विस्तार है, जिसका उपयोग एम्बेडेड सिस्टम को विकसित करने के लिए किया जाता है। वाक्य रचना सी भाषा के समान है (मुख्य कार्य की तरह, फ़ंक्शन की घोषणा, डेटा प्रकार की घोषणा, लूप, आदि)। एम्बेडेड C और मानक C भाषा के बीच मुख्य अंतर हार्डवेयर, निश्चित-बिंदु संचालन और प्रसंस्करण पता रिक्त स्थान के इनपुट-आउटपुट एड्रेसिंग हैं।

निम्नलिखित लाभ के कारण एम्बेडेड सिस्टम में C का उपयोग

  • कार्यक्रम को सीखना, समझना और डीबग करना छोटा और आसान है।
  • सभी सी कंपाइलर सभी एम्बेडेड उपकरणों के साथ संगत हैं
  • यह एक स्वतंत्र प्रोसेसर है (अर्थात यह किसी विशेष माइक्रोप्रोसेसर या माइक्रोकंट्रोलर के लिए विशिष्ट नहीं है)।
  • सी भाषा विधानसभा भाषा और उच्च-स्तरीय भाषा की विशेषताओं के संयोजन का उपयोग करती है
  • यह विभिन्न प्लेटफार्मों के बीच काफी कुशल, अधिक विश्वसनीय, अधिक लचीला, अधिक पोर्टेबल है।
  • C में विकसित कार्यक्रम समझने, डिबग करने और बनाए रखने में आसान होते हैं।

अन्य उच्च-स्तरीय भाषा की तुलना में C अधिक लचीलापन प्रदान करता है क्योंकि यह अपेक्षाकृत छोटी संरचना-उन्मुख भाषा है और निम्न-स्तरीय बिटवाइज़ का समर्थन करती है डेटा जोड़तोड़

सी ++

C ++ जैसी ऑब्जेक्ट-ओरिएंटेड भाषा एम्बेडेड उपकरणों की तरह अनुसंधान अवरोध वातावरण में एक कुशल कार्यक्रम विकसित करने के लिए वैकल्पिक नहीं है। सी ++ के वर्चुअल फ़ंक्शंस और अपवाद हैंडलिंग कुछ विशिष्ट विशेषताएं हैं जो सिस्टम के स्थान और गति के मामले में कुशल नहीं हैं।

जावा

JAVA वर्चुअल मशीन (JVM) का उपयोग करके JAVA भाषा में एक एम्बेडेड सिस्टम को प्रोग्राम किया जा सकता है, जो बहुत सारे संसाधनों तक पहुँचता है। यह मुख्य रूप से उच्च-अंत अनुप्रयोगों (जैसे मोबाइल फोन) में उपयोग पाता है और अनुप्रयोगों को संसाधित करने के लिए सिस्टम में पोर्टेबिलिटी प्रदान करता है। यह छोटे एम्बेडेड उपकरणों के लिए पसंदीदा नहीं है।

एंबेडेड सी प्रोग्रामिंग आर्किटेक्चर और उदाहरण

एंबेडेड सी प्रोग्रामिंग आर्किटेक्चर को उपयोग करने के एक उदाहरण के साथ समझा जा सकता है 8051 माइक्रो-नियंत्रक , जहां इसका कार्य एलईडी बल्ब को ब्लिंक करना है जो नियंत्रक के PORT1 से जुड़ा है और उपयोग किया गया कंपाइलर Keil / Compiler है। निम्नलिखित के लिए कोड है LED झपकी।

पूर्व-प्रोसेसर के #include // निर्देश
शून्य देरी (int) // देरी फ़ंक्शन की घोषणा
शून्य मुख्य (शून्य) // मुख्य कार्य
{{
P1 = 0x00 // port1 बंद है, इसलिए LED बंद है और reg51.h में संग्रहीत है
जबकि (1) // अनंत का पाश
{{
P1 = OxFF //// port1 चालू है इसलिए एलईडी चालू है
देरी (1000) // विलंब प्रदान करना
P1 = 0X00 // port1 बंद
देरी (1000)
}
}
शून्य विलंब (int d) // विलंब फ़ंक्शन को असाइन करना
{{
अहस्ताक्षरित int i = 0 // चर स्थानीय रूप से असाइन किए गए हैं
के लिए (d> 0 d-)
{{
के लिए (i = 250 i> 0i–)
के लिए (i = 248 i> 0i–)
}
}

लाभ

एंबेडेड सॉफ्टवेयर के निम्नलिखित फायदे हैं

  • डेटा लोडिंग तेज है
  • लागत कम है
  • कम संसाधनों का उपयोग करता है।

नुकसान

एंबेडेड सॉफ्टवेयर के निम्नलिखित नुकसान हैं

  • अपग्रेड करना जटिल है
  • यदि कोई समस्या आती है तो हर बार रीसेट करना आवश्यक है
  • छोटे मूल्यों के लिए स्केलेबिलिटी मुश्किल है।

अनुप्रयोग

एंबेडेड सॉफ्टवेयर के अनुप्रयोग निम्नलिखित हैं

  • बैंकिंग
  • ऑटोमोबाइल
  • घरेलु उपकरण
  • गाड़ी
  • मिसाइल, आदि।

अक्सर पूछे जाने वाले प्रश्न

1)। एंबेडेड सॉफ्टवेयर क्या है?

एक एम्बेडेड सॉफ़्टवेयर या एम्बेडेड सिस्टम प्रोग्रामिंग कंप्यूटर सॉफ़्टवेयर है, जिसका उपयोग निर्देश प्रदान करके उपकरणों को नियंत्रित करने के लिए किया जाता है।

२)। एंबेडेड सिस्टम सॉफ्टवेयर में उपयोग किए जाने वाले प्रोग्राम क्या हैं?

एम्बेडेड सिस्टम सॉफ्टवेयर प्रोग्राम C या C ++, Phyton, और जावा स्क्रिप्ट्स में प्रोग्राम किए जाते हैं।

३)। एम्बेडेड सिस्टम और सामान्य सिस्टम के बीच अंतर क्या है?

एक एम्बेडेड सिस्टम हार्डवेयर और सॉफ्टवेयर का एक संयोजन है जहां इसे एक विशिष्ट उद्देश्य के लिए डिज़ाइन किया गया है। क्रमिक रूप से प्रक्रियाएं होती हैं। जबकि एक सामान्य प्रोसेसर एक आरटीओ का वास्तविक समय का ओएस है, यह आवश्यक है जहां समानांतर निष्पादन की आवश्यकता है।

4)। एंबेडेड सिस्टम के विभिन्न प्रकार क्या हैं?

एंबेडेड सिस्टम को दो श्रेणियों में वर्गीकृत किया गया है

  • प्रदर्शन और कार्यात्मक आवश्यकताओं के आधार पर, उन्हें वास्तविक समय, स्टैंड-अलोन, नेटवर्क, मोबाइल के रूप में वर्गीकृत किया जाता है।
  • माइक्रोकंट्रोलर के प्रदर्शन के आधार पर, उन्हें आगे छोटे पैमाने, मध्यम पैमाने और परिष्कृत पैमाने के रूप में वर्गीकृत किया जाता है

५)। एम्बेडेड सिस्टम के प्रमुख अनुप्रयोग

एक एम्बेडेड सिस्टम के प्रमुख अनुप्रयोग हैं

  • वॉशिंग मशीन
  • डिजिटल कैमरों
  • संगीत खिलाड़ी, आदि।

एक एम्बेडेड सिस्टम हार्डवेयर और सॉफ्टवेयर का एक संयोजन है। जहां एम्बेडेड सॉफ्टवेयर प्रोग्राम C या C ++, Phyton, और Java लिपियों में क्रमादेशित हैं। वे लिनक्स ओएस, माइक्रो सी / ओएस, क्यूएनएक्स आदि पर चलते हैं। सी भाषा एम्बेडेड सॉफ्टवेयर कोड लिखने के लिए मूल भाषा बनाती है। इस प्रकार यह एंबेडेड सॉफ्टवेयर का एक अवलोकन है और इसकी वास्तुकला को एक कार्यक्रम का उपयोग करके समझाया गया है।