मैं दोनों करता हूं, इसलिए यहां मेरा विचार है।
मुझे लगता है कि एम्बेडेड में अब तक का सबसे महत्वपूर्ण कौशल आपके डिबगिंग की क्षमता है। आवश्यक मानसिकता बहुत अलग है जिसमें बहुत कुछ गलत हो सकता है, और आपको उन सभी विभिन्न तरीकों पर विचार करने के लिए बहुत खुला होना चाहिए जो आप करने की कोशिश कर रहे हैं जो गलत हो सकते हैं।
नए एम्बेडेड डेवलपर्स के लिए यह एकल सबसे बड़ा मुद्दा है। पीसी लोग इसे अधिक मोटा करते हैं, क्योंकि वे सिर्फ उनके लिए काम कर रहे हैं। वे बहुत समय बर्बाद करने के लिए उपकरणों की तलाश करने के बजाय उनके लिए काम करना होगा (संकेत: वहाँ कई नहीं हैं)। वहाँ पर और अधिक दीवारों में सिर पीटने का एक बहुत कुछ है, और नहीं जानते कि क्या करना है। यदि आपको लगता है कि आप फंस रहे हैं, तो पीछे हटें और पता करें कि क्या आप पहचान सकते हैं कि क्या गलत हो सकता है। व्यवस्थित रूप से अपनी संभावित समस्याओं की सूची को संकुचित करें जब तक आप इसे समझ नहीं लेते। यह इस प्रक्रिया से सीधे आता है कि आपको एक बार में बहुत अधिक परिवर्तन न करके समस्याओं के दायरे को सीमित करना चाहिए।
अनुभवी एम्बेडेड लोग डिबगिंग के लिए ले जाते हैं ... ज्यादातर लोग जो इसे अच्छी तरह से नहीं कर सकते हैं (या बड़ी कंपनियों में काम करते हैं जो बस स्वीकार करते हैं "फर्मवेयर कठिन है" क्यों एक निश्चित विशेषता के लिए एक उत्तर के रूप में। देर हो रही है)
आप एक ऐसे कोड पर काम कर रहे हैं जो एक बाहरी सिस्टम से लेकर आपके डेवलपमेंट सिस्टम तक चलता है, जिसमें आपके प्लेटफॉर्म से लेकर प्लेटफॉर्म तक दृश्यता की अलग-अलग डिग्री होती है। यदि आपके नियंत्रण में है, तो अपने लक्ष्य प्रणाली में इस दृश्यता को बढ़ाने में मदद करने के लिए विकास सहायता के लिए धक्का दें। डिबग सीरियल पोर्ट, बिट बैंगिंग डिबग आउटपुट, प्रसिद्ध ब्लिंकिंग लाइट इत्यादि का उपयोग करें, निश्चित रूप से एक न्यूनतम सीखें कि आस्टसीलस्कप का उपयोग कैसे करें और पिन I / O का उपयोग to स्कोप ’देखने के लिए करें कि कुछ कार्य कब प्रवेश / निकास, ISRs आग इत्यादि। क्या मैंने लोगों को सचमुच वर्षों से अधिक समय तक संघर्ष करने के लिए देखा है, क्योंकि वे कभी भी सेट अप करने के लिए परेशान नहीं होते हैं / सीखते हैं कि एक उचित जेटीजी डीबगर लिंक का उपयोग कैसे करें।
पीसी के सापेक्ष आपके पास क्या संसाधन हैं, इसके बारे में जानकारी होना बहुत महत्वपूर्ण है। डेटशीट को ध्यान से पढ़ें। आप जो भी करने की कोशिश कर रहे हैं, उसके संसाधन 'लागत' पर विचार करें। स्टैक उपयोग को ट्रैक करने के लिए एक जादुई मान के साथ स्टैक स्पेस को भरने जैसे संसाधन-उन्मुख डिबगिंग ट्रिक्स सीखें।
जबकि पीसी और एम्बेडेड सॉफ्टवेयर दोनों के लिए डिबगिंग कौशल की कुछ डिग्री की आवश्यकता होती है, यह एम्बेडेड के साथ बहुत अधिक महत्वपूर्ण है।