जहाँ तक msp430 की बात है, यह एक अच्छा वास्तुशिल्प है, इस विषय के लिए mspgcc और mspgcc4 और llvm में बहुत अच्छे उपकरण हैं। बिना थैली के बिनुतिल। आप उस कीमत पर $ 5 के तहत एक लॉन्चपैड प्राप्त कर सकते हैं, कुछ खरीद सकते हैं (अंततः आप किसी चीज को छोटा या छोटा कर देंगे और इसे पिघला देंगे, एक स्पेयर, इस कीमत पर एस्प) ...
उपकरण डाउनलोड करें, वे सभी मुफ़्त हैं, कोड की कुछ पंक्तियाँ लिखें, इसे लिंक करना सीखें, देखें कि बाइनरी कितनी बड़ी हो जाती है, एम्बेडेड के लिए एक भावना प्राप्त करें, कोड से लेकर रोम आकार की रेखाएं आदि।
कैसे करते हैं। बस हर तरह से आप कल्पना कर सकते हैं:
कुछ कंपनियों के लिए जनादेश उच्च से नीचे आता है और कुछ भी नहीं है जो आप इसे छोड़कर अन्य के बारे में कर सकते हैं। और आप कभी नहीं जान सकते कि उस प्लेटफॉर्म को क्यों चुना गया।
कभी-कभी ठेकेदार / पसंदीदा ग्राहक प्लेटफ़ॉर्म तय करता है, कभी-कभी आप शिक्षित / बातचीत कर सकते हैं, कभी-कभी नहीं।
कुछ लोगों को बस एक पसंदीदा, अज्ञात का डर है, जो भी हो। यही कारण है कि कुछ लोग केवल एक ब्रांड की कार खरीदते हैं, क्योंकि मेरे पिताजी ने किया था और उनके पिता ने उससे पहले किया था, और यह पूरी वजह हो सकती है।
कुछ लोग टूल पर ध्यान केंद्रित करते हैं। यहां फिर से आपके पास ब्रांड के वफादार लोग हैं, जो अपने पसंदीदा कंपाइलर कंपनी के लिए खुद को सीमित कर रहे हैं और जो भी लक्ष्य वे समर्थन करते हैं, या पसंदीदा ओपन सोर्स टूल और जो समर्थन करता है। पसंदीदा एम्बेडेड ऑपरेटिंग सिस्टम और समर्थन करने वाले लक्ष्यों की सीमा।
कुछ मामलों में यह उपकरणों के बारे में है, लेकिन एक अलग तरीके से, समय के साथ आपने एक विक्रेता के साथ वार्षिक समर्थन अनुबंध में बहुत पैसा लगाया होगा (उदाहरण के लिए हाथ या xilinx या motorola) और यह हो सकता है कि आपको उनका समर्थन पसंद आया हो और न ही आप को बदलना चाहते हैं या शैतान को आप जानते हैं कि आप शैतान से बेहतर नहीं हैं। या ऐसा हो सकता है क्योंकि कंपनी में अन्य 5 सक्रिय परियोजनाएं इस चीज का उपयोग करती हैं और हमारे पास पहले से ही एक समर्थन अनुबंध है और उस वर्ष के लिए भुगतान करना जारी रखेगा, वर्ष के बाद आपको उन विक्रेताओं के समाधानों में से एक का चयन करना होगा।
कभी-कभी यह सहस्राब्दी को बचाने के बारे में है। यह हिस्सा उस हिस्से की तुलना में 1.5% सस्ता है, इसे इस हिस्से के साथ काम करें, एनआरई की परवाह न करें, मात्रा में निर्माण बचत के बारे में सोचें।
कभी-कभी यह नकारात्मकता के बारे में होता है। एक विक्रेता ने आपकी कंपनी को एक या दूसरे तरीके से खराब कर दिया होगा। आपके उत्पादों की देरी या रद्द करने वाले भागों की विज्ञापित आपूर्ति को पूरा करने में विफलता। बैट और स्विच घोटाले (सॉफ़्टवेयर के लिए $ 50,000 शुल्क में लाइसेंस अनलॉक करने के लिए आवश्यक डोंगल के लिए $ 1200 शुल्क शामिल नहीं था, यह एक अतिरिक्त लागत आइटम है। ओह और यह अस्थायी लाइसेंस के लिए प्रति उपयोगकर्ता था)। एक बार जब आप प्रोग्रामर संदर्भ मैनुअल या संदर्भ डिजाइन गाइड देखने के लिए एनडीए पर हस्ताक्षर करते हैं, तो आपको पता चलता है कि उनकी इंजीनियरिंग कितनी खतरनाक है और आप जीवन के लिए उनके सभी उत्पादों को ब्लैकलिस्ट करने का विकल्प चुन सकते हैं। भयानक तकनीकी सहायता के साथ पिछला इतिहास। किसी भी कारण से आप अपनी बिक्री के लोगों को सामने के दरवाजे पर कभी भी अनुमति नहीं दे सकते हैं, या आपको उनकी वेबसाइट पर फिर से देखने से रोक सकते हैं।
कभी-कभी इसे प्रदर्शन, इंटरफेस आदि के साथ करना पड़ता है। मामले में कहते हैं कि आपके पास एक इंटरफ़ेस है जो वायर-ऑयर्ड है और एक पुल अप की आवश्यकता है, $ 3 प्रति भाग के लिए माइक्रोकंट्रोलर ब्रांड XYZ में I / O पिन का एक सेट है जिसका उपयोग किया जा सकता है किसी अन्य बाहरी हार्डवेयर की आवश्यकता नहीं होने पर, ब्रांड एबीसी में $ 3 का हिस्सा होता है जिसे न्यूनतम काम करने के लिए बाहरी ट्रांजिस्टर और अवरोधक की आवश्यकता होती है। Msp430 का आपका उदाहरण, कहते हैं कि यह बिजली की खपत के बारे में है, भाग ए को केवल उपयोगकर्ता को एक एएए बैटरी का उपयोग करने और महीनों तक चलाने की आवश्यकता हो सकती है, भाग बी को दो एएए बैटरी की आवश्यकता हो सकती है और हफ्तों तक चल सकती है।
सभी का सबसे दुर्लभ मामला वास्तव में इंजीनियरिंग करना है, सभी विक्रेताओं का सर्वेक्षण करना है, बिजली की खपत की गणित करना है, आपके उत्पाद गणित की प्रति यूनिट कीमत है, हमें कितना बड़ा रोम चाहिए और चिप को चलाने के लिए किस आवृत्ति की आवश्यकता है? गोंद तर्क, पर और पर। आमतौर पर कोई व्यक्ति (बॉस / ग्राहक / वरिष्ठ इंजीनियर) अपने वर्षों के अनुभव लेता है और कूल्हे से गोली मारता है (अक्सर उपरोक्त में से एक या एक से अधिक का उपयोग करके) पथ (अक्सर समय और डॉलर में एक अच्छा पथ बचत टन) और चुनने के लिए एक बार चुने हुए मंच को ठीक करने के लिए इंजीनियरिंग की जाती है।
मेरी व्यक्तिगत सिफारिश लचीली होनी है। अधिकांश माइक्रोकंट्रोलर ब्रांड / परिवार किसी न किसी रूप में फैशन के लिए $ 50 से कम के लिए एक बोर्ड पर हो सकते हैं। स्पार्कफुन, ऑलिमेक्स या विक्रेता से प्रत्यक्ष (msp430 या स्टेलारिस, आदि के लिए ती)। एक या एक से अधिक का प्रयास करें, सामान्य रूप में क्या है के लिए एक महसूस करें और क्या अलग है, उपकरण, लोडर, कैसे करना मुश्किल है, आदि। आपको इस से कम से कम दो चीजें मिलती हैं, एक यह है कि जब आप एक रास्ता नीचे मजबूर होते हैं उच्च या ग्राहक से आप रनिंग ग्राउंड को हिट कर सकते हैं, दूसरा यह है कि जब आप उस प्लेटफ़ॉर्म को चुनने के लिए अपनी बारी करते हैं, तो आप क्या है और क्या नहीं है पर बेहतर शिक्षित होते हैं और समस्या के आधार पर सही (लोडेड शब्द) प्लेटफ़ॉर्म चुन सकते हैं हल हो गया।
यहां तक कि अगर आप न तो बाहर जा सकते हैं और न ही उस तरह के पैसे को हार्डवेयर पर खर्च कर सकते हैं, तो ज्यादातर में ऐसे उपकरण होते हैं, जिन्हें आप (मुफ्त में) डाउनलोड कर सकते हैं, माइक्रोचिप जैसे मामलों में अब आप सी कंपाइलर (हाई-टेक हुआ करते थे) ले सकते हैं लेकिन सदस्यता लें (अपना ईमेल पता दें)। इसे पसंद करें या नफरत करें यह आपके भविष्य, डेस्कटॉप या एम्बेडेड में होगा, अपने हाथों को गंदा करें और इसे क्रॉस कंपाइलर के रूप में उपयोग करना सीखें। Llvm भी आज़माएं, यह थोड़ी देर के लिए होगा और gcc को कुछ गंभीर प्रतियोगिता देगा। वैसे भी कुछ एमुलेटर लिखते हैं या पाते हैं, mame के बहुत से हैं, gdb के पास कुछ हैं, आदि मैंने लिखा है, एक को थंबुलेटर कहा जाता है github, ARM थंब मोड केवल, एक कोर्टेक्स- m3 के समान है, सिवाय इसके कि मैं thumb2 का समर्थन नहीं करता (अभी भी थोड़ा बहुत सीख सकता हूँ) और प्रोग्राम केवल हार्डवेयर पर स्विच करने से पहले दोनों पर चलते हैं)। मैं एक msp430 एमुलेटर को मार डाला, लेकिन थोड़े उस पर ठप हो गया। निर्देश सेट इतना छोटा है कि काम का थोक एक शाम या शायद एक शनिवार की परियोजना है। वही PIC के लिए जाता है, एक लंबी दोपहर और आपके पास एक निर्देश सेट सिम्युलेटर है जिसके साथ एम्बेडेड अभ्यास करना है। यदि और कुछ नहीं तो आप केवल इस बात को महसूस करने के लिए प्रोग्राम कंपाइल कर सकते हैं और लिंक कर सकते हैं कि कैसे करें और कितना बड़ा प्रोग्राम समाप्त हो रहा है, कैसे प्रोग्राम को ट्यूनर कोड बनाने के लिए ट्यून करें, आदि।
जहाँ तक C बनाम असेम्बलर के रूप में, कुछ निर्देश सेट C के अनुकूल हैं और कुछ नहीं हैं। कुछ संकलक मध्यम हैं और कुछ वास्तव में खराब हैं और केवल कुछ वास्तव में अच्छे हैं (और आमतौर पर उपयोग करने के लिए प्रति वर्ष कुछ समय या एक हजार डॉलर खर्च होते हैं)। प्रदर्शन के साथ के रूप में अगर आप वास्तव में इसे धक्का देना चाहते हैं, तो उच्च स्तरीय भाषा (सिर्फ सी कहते हैं) और कोडांतरक की आवश्यकता हो सकती है। इसलिए कौशल असेंबलर में पूरे आवेदन को नहीं लिख रहा है, कौशल यह निर्धारित कर रहा है कि किस कोड के कारण आप समय / प्रदर्शन को पूरा नहीं कर रहे हैं और फिर जानते हैं कि कैसे हल करने के लिए सी, संकलक विकल्प, सही संकलक का चयन, या कोडांतरक लिखना।
मैं अनुशंसा करता हूं कि आप उन सभी प्लेटफार्मों के लिए कोडांतरक जानते हैं, जिनका आप उपयोग करना चाहते हैं, अगर इसके अलावा कुछ भी पढ़ने योग्य ज्ञान नहीं है जैसा कि एम्बेडेड है तो मैं आपको अक्सर अलग करने की सलाह देता हूं (यह पता लगाने के दौरान कि आपके प्रदर्शन की समस्याएं कहां हैं)। कई प्लेटफार्मों कुछ कोडांतरक की आवश्यकता है या वैसे भी बूट अप कोड के लिए वांछित है।
यदि आप प्रति यूनिट कीमत पर उस 10-20% को बचाना चाहते हैं और 64KB फ़्लैश भाग के बजाय सस्ता / धीमा माइक्रोकंट्रोलर या थरथरानवाला, या 32Kb फ़्लैश भाग खरीदना चाहते हैं और बिक्री की मात्रा के साथ विकास लागत को कवर कर सकते हैं, और शायद अन्य चीजों की एक लंबी सूची आप बहुत अच्छी तरह से असेंबलर, तेज, कम बिजली, कम लागत, खुश ग्राहकों को लिखने के लिए चुन सकते हैं।
अब तक की आपकी पृष्ठभूमि के आधार पर, शायद आपको सभी असेंबलर में लिखने के बारे में चिंता करनी चाहिए और शायद माइक्रोकंट्रोलर्स के साथ एम्बेडेड के इलेक्ट्रिकल इंजीनियरिंग पहलुओं के बारे में, योजनाबद्ध तरीके से पढ़ना, यह जानना कि कलेक्टर, ट्राई स्टेट, पुश पुल, pwm, adc, dac, और क्या है अन्य शर्तों की लंबी सूची और उनका उपयोग कैसे करें। बिट पीटने i2c, spi, mdio, डलास एक तार, आदि एक सॉफ्टवेयर डिबगर के रूप में एक गुंजाइश का उपयोग करना। भले ही आज स्कोप्स आपके लिए चीजों को उजागर कर सकते हैं (एक अतिरिक्त लागत वाली वस्तु), आपको आईईएल 2 आई और स्पाई और कुछ अन्य प्रोटोकॉल पर प्रकाश डाला बिना सक्षम होना चाहिए।
मैं यह भी सलाह देता हूं कि आपके द्वारा खेले जाने वाले प्रत्येक प्लेटफ़ॉर्म के लिए, किसी से बाहर निकलता है सैंडबॉक्स (Arduino ide / प्रोग्रामिंग वातावरण उदाहरण के लिए)। बूट कोड लिखें जो प्रोसेसर को आपके मुख्य () प्रोग्राम में रीसेट करता है, जितना संभव हो उतना समझें कि फ्लैश को उस बिंदु पर लोड / प्रोग्राम कैसे करें जो शेल्फ के होते हुए भी आपके खुद के लोडर को लिख सकता है। वहाँ। यह सभी व्यक्तिगत शिक्षा के बारे में है, जितना अधिक आप जानते हैं और अपनी पीठ की जेब से बाहर निकाल सकते हैं और अपने करियर पर अधिक नियंत्रण का उपयोग करेंगे और अपने पेचेक पर संख्या के अंत में अधिक शून्य होगा।
आप जो भी करते हैं, वह नहीं करते हैं, एक डेस्कटॉप पर अपने पहले असेंबलर के रूप में x86 सीखने की कोशिश करें, बहुत अधिक कुछ और चुनें और संकलित करें और अनुकरण करें, एआरएम, THUMB, MSP430, PIC, AVR, यहां तक कि 6502, 8051. x86 एक भयानक निर्देश है सेट और एक परिणाम के रूप में इतने सारे तरीके से आकार और आकार दिया गया है, माइक्रोकोड, माइक्रोकोड नहीं, मल्टी कोर, ऑन और ऑन। उच्च स्तरीय भाषाओं और भारी ऑपरेटिंग सिस्टम के लिए x86 रखें। अपने पाठ संपादक और संकलक के लिए इसका उपयोग करें और कुछ और लक्ष्य करें।
लंबे उत्तर के लिए क्षमा करें ... आशा है कि यह मददगार था।